#include #include #include namespace sp { RenderState::RenderState() : m_texture (0), m_shader (0) { } RenderState::~RenderState() { cleanup(); } void RenderState::enableTexture(const Texture *texture) { // Enable the new texture. if (texture) { texture->enable(); } // No texture selected. // Must unbind cached texture if set. else if (m_texture) { m_texture->disable(); } m_texture = texture; } void RenderState::enableShader(const ShaderProgram *program) { m_shader = program; m_shader->enable(); } void RenderState::cleanup() { // Disable current texture if set. if (m_texture) { m_texture->disable(); } if (m_shader) { m_shader->disable(); } } } // namespace sp