20 #ifndef VTKVIEWER_OPENGLHELPER_H
21 #define VTKVIEWER_OPENGLHELPER_H
23 #include <vtkObject.h>
24 #include <vtkMatrix4x4.h>
34 #ifndef GL_ARB_shader_objects
42 #define APIENTRYP APIENTRY *
45 #ifndef GL_ARB_shader_objects
49 #ifndef GL_VERTEX_PROGRAM_POINT_SIZE_ARB
50 #define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642
53 #ifndef GL_VERTEX_SHADER_ARB
54 #define GL_VERTEX_SHADER_ARB 0x8B31
57 #ifndef GL_FRAGMENT_SHADER_ARB
58 #define GL_FRAGMENT_SHADER_ARB 0x8B30
61 #ifndef GL_ARB_point_sprite
62 #define GL_POINT_SPRITE_ARB 0x8861
63 #define GL_COORD_REPLACE_ARB 0x8862
66 #ifndef GL_ARB_vertex_buffer_object
69 #define GL_ARRAY_BUFFER_ARB 0x8892
70 #define GL_STATIC_DRAW_ARB 0x88E4
73 #ifndef GL_COMPILE_STATUS
74 #define GL_COMPILE_STATUS 0x8B81
77 #ifndef GL_CURRENT_PROGRAM
78 #define GL_CURRENT_PROGRAM 0x8B8D
81 #ifndef GL_DEBUG_TYPE_ERROR
82 #define GL_DEBUG_TYPE_ERROR 0x824C
85 #ifndef GL_LINK_STATUS
86 #define GL_LINK_STATUS 0x8B82
90 #define GL_TEXTURE0 0x84C0
93 #ifndef GL_VALIDATE_STATUS
94 #define GL_VALIDATE_STATUS 0x8B83
97 #ifndef GL_NUM_EXTENSIONS
98 #define GL_NUM_EXTENSIONS 0x821D
116 bool CreateShaderProgram (
const std::string& theFilePath,
125 void SetUniformMatrix (
const GLint theLocation,
126 const vtkMatrix4x4* theMatrix)
const;
132 typedef void (
APIENTRYP PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);
133 typedef void (
APIENTRYP PFNGLDELETEBUFFERSARBPROC) (GLsizei n,
const GLuint *buffers);
134 typedef void (
APIENTRYP PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);
142 typedef void (
APIENTRYP PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride,
const GLvoid *pointer);
143 typedef void (
APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
144 typedef void (
APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
147 typedef void (
APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
152 typedef void (
APIENTRYP PFNGLGETSHADERIVARBPROC) (GLuint shader, GLenum pname, GLint *params);
153 typedef void (
APIENTRYP PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint *params);
154 typedef void (
APIENTRYP PFNGLGETSHADERINFOLOGARBPROC) (GLuint shader, GLsizei maxLength, GLsizei *length,
GLcharARB *infoLog);
155 typedef void (
APIENTRYP PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
156 typedef void (
APIENTRYP PFNGLGENVERTEXARRAYSARBPROC) (GLsizei n, GLuint *arrays);
157 typedef void (
APIENTRYP PFNGLBINDVERTEXARRAYARBPROC) (GLuint array);
158 typedef void (
APIENTRYP PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);
159 typedef const GLubyte *(
APIENTRYP PFNGLGETSTRINGIPROC) (GLenum name, GLuint index);
181 PFNGLDETACHOBJECTARBPROC vglDetachObjectARB;
182 PFNGLDELETEOBJECTARBPROC vglDeleteObjectARB;
183 PFNGLVALIDATEPROGRAMARBPROC vglValidateProgramARB;
184 PFNGLGETSHADERIVARBPROC vglGetShaderivARB;
185 PFNGLGETPROGRAMIVARBPROC vglGetProgramivARB;
186 PFNGLGETSHADERINFOLOGARBPROC vglGetShaderInfoLogARB;
188 PFNGLUNIFORMMATRIX4FVARBPROC vglUniformMatrix4fvARB;
189 PFNGLGENVERTEXARRAYSARBPROC vglGenVertexArraysARB;
190 PFNGLBINDVERTEXARRAYARBPROC vglBindVertexArrayARB;
191 PFNGLUNIFORM1IARBPROC vglUniform1iARB;
192 PFNGLGETUNIFORMLOCATIONARBPROC vglGetUniformLocationARB;
193 PFNGLACTIVETEXTUREARBPROC vglActiveTextureARB;
194 PFNGLGETSTRINGIPROC vglGetStringiARB;
#define VTKVIEWER_EXPORT
Definition: VTKViewer.h:33
ptrdiff_t GLsizeiptrARB
Definition: VTKViewer_OpenGLHelper.h:67
GLuint GLhandleARB
Definition: VTKViewer_OpenGLHelper.h:35
char GLcharARB
Definition: VTKViewer_OpenGLHelper.h:46
#define APIENTRYP
Definition: VTKViewer_OpenGLHelper.h:42
Definition: VTKViewer_OpenGLHelper.h:106
PFNGLENABLEVERTEXATTRIBARRAYARBPROC vglEnableVertexAttribArrayARB
Definition: VTKViewer_OpenGLHelper.h:177
PFNGLDELETEBUFFERSARBPROC vglDeleteBuffersARB
Definition: VTKViewer_OpenGLHelper.h:174
PFNGLCOMPILESHADERARBPROC vglCompileShaderARB
Definition: VTKViewer_OpenGLHelper.h:165
bool mIsInitialized
Definition: VTKViewer_OpenGLHelper.h:198
PFNGLDISABLEVERTEXATTRIBARRAYARBPROC vglDisableVertexAttribArrayARB
Definition: VTKViewer_OpenGLHelper.h:178
PFNGLCREATEPROGRAMOBJECTARBPROC vglCreateProgramObjectARB
Definition: VTKViewer_OpenGLHelper.h:166
PFNGLCREATESHADEROBJECTARBPROC vglCreateShaderObjectARB
Definition: VTKViewer_OpenGLHelper.h:164
PFNGLBUFFERDATAARBPROC vglBufferDataARB
Definition: VTKViewer_OpenGLHelper.h:173
PFNGLBINDBUFFERARBPROC vglBindBufferARB
Definition: VTKViewer_OpenGLHelper.h:172
PFNGLGETATTRIBLOCATIONARBPROC vglGetAttribLocationARB
Definition: VTKViewer_OpenGLHelper.h:175
PFNGLUSEPROGRAMOBJECTARBPROC vglUseProgramObjectARB
Definition: VTKViewer_OpenGLHelper.h:169
PFNGLLINKPROGRAMARBPROC vglLinkProgramARB
Definition: VTKViewer_OpenGLHelper.h:168
PFNGLGENBUFFERSARBPROC vglGenBuffersARB
Definition: VTKViewer_OpenGLHelper.h:171
PFNGLVERTEXATTRIBPOINTERARBPROC vglVertexAttribPointerARB
Definition: VTKViewer_OpenGLHelper.h:176
PFNGLATTACHOBJECTARBPROC vglAttachObjectARB
Definition: VTKViewer_OpenGLHelper.h:167
bool IsInitialized() const
Definition: VTKViewer_OpenGLHelper.h:113
PFNGLSHADERSOURCEARBPROC vglShaderSourceARB
Definition: VTKViewer_OpenGLHelper.h:163
Definition: VTKViewer_OpenGLHelper.cxx:220
char * readFromFile(std::string fileName)
Definition: VTKViewer_OpenGLHelper.cxx:221