Files
Sergio Valor 74cad13867 Migrar de vibe3_physics a vibe4_shaders con enfoque en shaders CRT
- Actualizar nombre del proyecto en CMakeLists.txt a vibe4_shaders
- Cambiar título de ventana en defines.h a vibe4_shaders
- Reescribir completamente README.md enfocado en tecnología de shaders:
  * Renderizado multi-backend (OpenGL, Vulkan, Metal)
  * Efectos de shader CRT (scanlines, curvatura, bloom)
  * Documentación del pipeline de post-procesado
  * Nuevos controles específicos de shaders (R, C, S, B, U)
  * Estructura del proyecto actualizada con directorios de shaders
- Mantener todos los controles y funcionalidad existente
- Reposicionar proyecto como demo de tecnología de renderizado
- Añadir .gitignore básico para C++

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-27 22:35:29 +02:00

35 lines
953 B
C++

#pragma once
#include <SDL3/SDL_rect.h> // for SDL_FRect, SDL_FPoint
#include <memory> // for shared_ptr
class Texture;
class Sprite {
private:
std::shared_ptr<Texture> texture_; // Textura con los gráficos del sprite
SDL_FRect pos_; // Posición y tamaño del sprite
SDL_FRect clip_; // Parte de la textura que se va a dibujar
public:
// Constructor
explicit Sprite(std::shared_ptr<Texture> texture);
// Destructor
~Sprite() = default;
// Establece la posición del sprite
void setPos(SDL_FPoint pos);
// Pinta el sprite
void render();
// Establece el rectangulo de la textura que se va a pintar
void setClip(SDL_FRect clip);
// Establece el tamaño del sprite
void setSize(float w, float h);
// Modulación de color
void setColor(int r, int g, int b);
};