1
0
Fork 0
spectre/source/Graphics/RenderState.cpp
Henrik Hautakoski e10daeaaa6
Move everything from global namespace to "sp" namespace
When writing the X11 (linux) implementation there was a problem with X11 defining a "Display" type and we also have a Display class in the engine.

So to fix that problem and minimize the risk for running into other name conflicts. We move everything from global namespace.
2019-09-30 19:10:17 +02:00

52 lines
No EOL
799 B
C++

#include <Spectre/Graphics/ShaderProgram.h>
#include <Spectre/Graphics/Texture.h>
#include <Spectre/Graphics/RenderState.h>
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