27 #ifndef _CEGUIOpenGL3Shader_h_ 28 #define _CEGUIOpenGL3Shader_h_ 30 #include "CEGUI/Exceptions.h" 31 #include "RendererBase.h" 35 # pragma warning(push) 36 # pragma warning(disable : 4251) 42 class OPENGL_GUIRENDERER_API OpenGL3Shader :
43 public AllocatedObject<OpenGL3Shader>
51 OpenGL3Shader(
const std::string& vertex_shader_source,
52 const std::string& fragment_shader_source);
72 GLuint getAttribLocation(
const std::string &name)
const;
78 GLuint getUniformLocation(
const std::string &name)
const;
85 void bindFragDataLocation(
const std::string &name);
87 bool isCreatedSuccessfully();
92 GLuint compile(GLuint type,
const std::string &source);
94 void outputShaderLog(GLuint shader);
95 void outputProgramLog(GLuint program);
97 std::string d_shaderName;
98 bool d_createdSucessfully;
100 GLuint d_vertexShader;
101 GLuint d_fragmentShader;
102 GLuint d_geometryShader;
106 #define STRINGIFY(x) #x 107 #define TOSTRING(x) STRINGIFY(x) 108 #define AT __FILE__ ":" TOSTRING(__LINE__) 109 #define checkGLErrors() getGLErrors(AT) Main namespace for Crazy Eddie's GUI Library.
Definition: cegui/include/CEGUI/Affector.h:42
void getGLErrors(const char *location)
Query OpenGL errors and process them in CEGUI.
Definition: Shader.cpp:249