apegat de mala manera els shaders del CCAE i fets uns apanyets per a vore si compila

This commit is contained in:
2025-10-15 12:59:17 +02:00
parent e4a08d2ec7
commit e811cf0a1d
23 changed files with 1158 additions and 829 deletions

View File

@@ -9,6 +9,9 @@
#include "utils.h" // Para Color
struct Surface;
namespace Rendering {
class ShaderBackend;
}
// Tipos de filtro
enum class ScreenFilter : Uint32 {
@@ -62,6 +65,7 @@ class Screen {
std::shared_ptr<Surface> game_surface_; // Surface principal para manejar game_surface_data_
std::shared_ptr<Surface> border_surface_; // Surface para pintar el el borde de la pantalla
std::shared_ptr<std::shared_ptr<Surface>> renderer_surface_; // Puntero a la Surface que actua
std::unique_ptr<Rendering::ShaderBackend> shader_backend_; // Backend de shaders (OpenGL/Metal/Vulkan)
// Variables
int window_width_; // Ancho de la pantalla o ventana
@@ -73,6 +77,8 @@ class Screen {
bool notifications_enabled_ = false; // indica si se muestran las notificaciones
FPS fps_; // Variable para gestionar los frames por segundo
std::string info_resolution_; // Texto con la informacion de la pantalla
std::string vertex_shader_source_; // Almacena el vertex shader
std::string fragment_shader_source_; // Almacena el fragment shader
#ifdef DEBUG
bool show_debug_info_ = false; // Indica si ha de mostrar/ocultar la información de la pantalla
@@ -89,9 +95,6 @@ class Screen {
// Ajusta el tamaño lógico del renderizador
void adjustRenderLogicalSize();
// Reinicia los shaders
void resetShaders();
// Extrae los nombres de las paletas
void processPaletteList();
@@ -110,6 +113,9 @@ class Screen {
// Recrea la textura para los shaders
void createShadersTexture();
void initShaders(); // Inicializa los shaders
void loadShaders(); // Carga el contenido del archivo GLSL
// Muestra información por pantalla
void renderInfo();