Files
vibe4_shaders/source/external/sprite.cpp
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

36 lines
759 B
C++

#include "sprite.h"
#include "texture.h" // for Texture
// Constructor
Sprite::Sprite(std::shared_ptr<Texture> texture)
: texture_(texture),
pos_{0.0f, 0.0f, 0.0f, 0.0f},
clip_{0.0f, 0.0f, 0.0f, 0.0f} {}
// Establece la posición del sprite
void Sprite::setPos(SDL_FPoint pos) {
pos_.x = pos.x;
pos_.y = pos.y;
}
// Pinta el sprite
void Sprite::render() {
texture_->render(&clip_, &pos_);
}
// Establece el rectangulo de la textura que se va a pintar
void Sprite::setClip(SDL_FRect clip) {
clip_ = clip;
}
// Establece el tamaño del sprite
void Sprite::setSize(float w, float h) {
pos_.w = w;
pos_.h = h;
}
// Modulación de color
void Sprite::setColor(int r, int g, int b) {
texture_->setColor(r, g, b);
}