- 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>
36 lines
759 B
C++
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);
|
|
} |