1
0
Fork 0

Initial commit

This commit is contained in:
Henrik Hautakoski 2015-12-22 17:43:51 +01:00
commit edfc5298e1
252 changed files with 93965 additions and 0 deletions

View file

@ -0,0 +1,48 @@
#include <Spectre/Graphics/ShaderProgram.h>
#include <Spectre/Graphics/Texture.h>
#include <Spectre/Graphics/RenderState.h>
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();
}
}