mirror of
https://github.com/projectM-visualizer/projectm.git
synced 2026-02-05 01:35:43 +00:00
41 lines
1.0 KiB
C++
41 lines
1.0 KiB
C++
#include "ShaderEngine.hpp"
|
|
|
|
#include "StaticGlShaders.hpp"
|
|
#include "Texture.hpp"
|
|
#include <glm/gtc/type_ptr.hpp>
|
|
|
|
ShaderEngine::ShaderEngine()
|
|
: presetCompShaderLoaded(false)
|
|
, presetWarpShaderLoaded(false)
|
|
{
|
|
std::shared_ptr<StaticGlShaders> static_gl_shaders = StaticGlShaders::Get();
|
|
|
|
m_untexturedDraw.CompileProgram(static_gl_shaders->GetV2fC4fVertexShader(),
|
|
static_gl_shaders->GetV2fC4fFragmentShader());
|
|
m_texturedDraw.CompileProgram(static_gl_shaders->GetV2fC4fT2fVertexShader(),
|
|
static_gl_shaders->GetV2fC4fT2fFragmentShader());
|
|
}
|
|
|
|
ShaderEngine::~ShaderEngine()
|
|
{
|
|
disablePresetShaders();
|
|
}
|
|
|
|
// deactivate preset shaders
|
|
void ShaderEngine::disablePresetShaders()
|
|
{
|
|
if (presetCompShaderLoaded)
|
|
glDeleteProgram(programID_presetComp);
|
|
|
|
if (presetWarpShaderLoaded)
|
|
glDeleteProgram(programID_presetWarp);
|
|
|
|
presetCompShaderLoaded = false;
|
|
presetWarpShaderLoaded = false;
|
|
}
|
|
|
|
void ShaderEngine::reset()
|
|
{
|
|
disablePresetShaders();
|
|
}
|