#include "ShaderEngine.hpp" #include "StaticGlShaders.hpp" #include "Texture.hpp" #include ShaderEngine::ShaderEngine() : presetCompShaderLoaded(false) , presetWarpShaderLoaded(false) { std::shared_ptr 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(); }