0023418: Crash on the object displaying when running DRAW on remote station. OpenGL...
[occt.git] / src / OpenGl / OpenGl_GlCore20.hxx
1 // Created on: 2012-03-06
2 // Created by: Kirill GAVRILOV
3 // Copyright (c) -1999 Matra Datavision
4 // Copyright (c) 2012-2012 OPEN CASCADE SAS
5 //
6 // The content of this file is subject to the Open CASCADE Technology Public
7 // License Version 6.5 (the "License"). You may not use the content of this file
8 // except in compliance with the License. Please obtain a copy of the License
9 // at http://www.opencascade.org and read it completely before using this file.
10 //
11 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 //
14 // The Original Code and all software distributed under the License is
15 // distributed on an "AS IS" basis, without warranty of any kind, and the
16 // Initial Developer hereby disclaims all such warranties, including without
17 // limitation, any warranties of merchantability, fitness for a particular
18 // purpose or non-infringement. Please see the License for the specific terms
19 // and conditions governing the rights and limitations under the License.
20
21
22 #ifndef _OpenGl_GlCore20_H__
23 #define _OpenGl_GlCore20_H__
24
25 #include <OpenGl_GlCore15.hxx>
26
27 //! Function list for GL2.0 core functionality.
28 struct OpenGl_GlCore20 : public OpenGl_GlCore15
29 {
30
31   PFNGLBLENDEQUATIONSEPARATEPROC    glBlendEquationSeparate;
32   PFNGLDRAWBUFFERSPROC              glDrawBuffers;
33   PFNGLSTENCILOPSEPARATEPROC        glStencilOpSeparate;
34   PFNGLSTENCILFUNCSEPARATEPROC      glStencilFuncSeparate;
35   PFNGLSTENCILMASKSEPARATEPROC      glStencilMaskSeparate;
36   PFNGLATTACHSHADERPROC             glAttachShader;
37   PFNGLBINDATTRIBLOCATIONPROC       glBindAttribLocation;
38   PFNGLCOMPILESHADERPROC            glCompileShader;
39   PFNGLCREATEPROGRAMPROC            glCreateProgram;
40   PFNGLCREATESHADERPROC             glCreateShader;
41   PFNGLDELETEPROGRAMPROC            glDeleteProgram;
42   PFNGLDELETESHADERPROC             glDeleteShader;
43   PFNGLDETACHSHADERPROC             glDetachShader;
44   PFNGLDISABLEVERTEXATTRIBARRAYPROC glDisableVertexAttribArray;
45   PFNGLENABLEVERTEXATTRIBARRAYPROC  glEnableVertexAttribArray;
46   PFNGLGETACTIVEATTRIBPROC          glGetActiveAttrib;
47   PFNGLGETACTIVEUNIFORMPROC         glGetActiveUniform;
48   PFNGLGETATTACHEDSHADERSPROC       glGetAttachedShaders;
49   PFNGLGETATTRIBLOCATIONPROC        glGetAttribLocation;
50   PFNGLGETPROGRAMIVPROC             glGetProgramiv;
51   PFNGLGETPROGRAMINFOLOGPROC        glGetProgramInfoLog;
52   PFNGLGETSHADERIVPROC              glGetShaderiv;
53   PFNGLGETSHADERINFOLOGPROC         glGetShaderInfoLog;
54   PFNGLGETSHADERSOURCEPROC          glGetShaderSource;
55   PFNGLGETUNIFORMLOCATIONPROC       glGetUniformLocation;
56   PFNGLGETUNIFORMFVPROC             glGetUniformfv;
57   PFNGLGETUNIFORMIVPROC             glGetUniformiv;
58   PFNGLGETVERTEXATTRIBDVPROC        glGetVertexAttribdv;
59   PFNGLGETVERTEXATTRIBFVPROC        glGetVertexAttribfv;
60   PFNGLGETVERTEXATTRIBIVPROC        glGetVertexAttribiv;
61   PFNGLGETVERTEXATTRIBPOINTERVPROC  glGetVertexAttribPointerv;
62   PFNGLISPROGRAMPROC                glIsProgram;
63   PFNGLISSHADERPROC                 glIsShader;
64   PFNGLLINKPROGRAMPROC              glLinkProgram;
65   PFNGLSHADERSOURCEPROC             glShaderSource;
66   PFNGLUSEPROGRAMPROC               glUseProgram;
67   PFNGLUNIFORM1FPROC                glUniform1f;
68   PFNGLUNIFORM2FPROC                glUniform2f;
69   PFNGLUNIFORM3FPROC                glUniform3f;
70   PFNGLUNIFORM4FPROC                glUniform4f;
71   PFNGLUNIFORM1IPROC                glUniform1i;
72   PFNGLUNIFORM2IPROC                glUniform2i;
73   PFNGLUNIFORM3IPROC                glUniform3i;
74   PFNGLUNIFORM4IPROC                glUniform4i;
75   PFNGLUNIFORM1FVPROC               glUniform1fv;
76   PFNGLUNIFORM2FVPROC               glUniform2fv;
77   PFNGLUNIFORM3FVPROC               glUniform3fv;
78   PFNGLUNIFORM4FVPROC               glUniform4fv;
79   PFNGLUNIFORM1IVPROC               glUniform1iv;
80   PFNGLUNIFORM2IVPROC               glUniform2iv;
81   PFNGLUNIFORM3IVPROC               glUniform3iv;
82   PFNGLUNIFORM4IVPROC               glUniform4iv;
83   PFNGLUNIFORMMATRIX2FVPROC         glUniformMatrix2fv;
84   PFNGLUNIFORMMATRIX3FVPROC         glUniformMatrix3fv;
85   PFNGLUNIFORMMATRIX4FVPROC         glUniformMatrix4fv;
86   PFNGLVALIDATEPROGRAMPROC          glValidateProgram;
87   PFNGLVERTEXATTRIB1DPROC           glVertexAttrib1d;
88   PFNGLVERTEXATTRIB1DVPROC          glVertexAttrib1dv;
89   PFNGLVERTEXATTRIB1FPROC           glVertexAttrib1f;
90   PFNGLVERTEXATTRIB1FVPROC          glVertexAttrib1fv;
91   PFNGLVERTEXATTRIB1SPROC           glVertexAttrib1s;
92   PFNGLVERTEXATTRIB1SVPROC          glVertexAttrib1sv;
93   PFNGLVERTEXATTRIB2DPROC           glVertexAttrib2d;
94   PFNGLVERTEXATTRIB2DVPROC          glVertexAttrib2dv;
95   PFNGLVERTEXATTRIB2FPROC           glVertexAttrib2f;
96   PFNGLVERTEXATTRIB2FVPROC          glVertexAttrib2fv;
97   PFNGLVERTEXATTRIB2SPROC           glVertexAttrib2s;
98   PFNGLVERTEXATTRIB2SVPROC          glVertexAttrib2sv;
99   PFNGLVERTEXATTRIB3DPROC           glVertexAttrib3d;
100   PFNGLVERTEXATTRIB3DVPROC          glVertexAttrib3dv;
101   PFNGLVERTEXATTRIB3FPROC           glVertexAttrib3f;
102   PFNGLVERTEXATTRIB3FVPROC          glVertexAttrib3fv;
103   PFNGLVERTEXATTRIB3SPROC           glVertexAttrib3s;
104   PFNGLVERTEXATTRIB3SVPROC          glVertexAttrib3sv;
105   PFNGLVERTEXATTRIB4NBVPROC         glVertexAttrib4Nbv;
106   PFNGLVERTEXATTRIB4NIVPROC         glVertexAttrib4Niv;
107   PFNGLVERTEXATTRIB4NSVPROC         glVertexAttrib4Nsv;
108   PFNGLVERTEXATTRIB4NUBPROC         glVertexAttrib4Nub;
109   PFNGLVERTEXATTRIB4NUBVPROC        glVertexAttrib4Nubv;
110   PFNGLVERTEXATTRIB4NUIVPROC        glVertexAttrib4Nuiv;
111   PFNGLVERTEXATTRIB4NUSVPROC        glVertexAttrib4Nusv;
112   PFNGLVERTEXATTRIB4BVPROC          glVertexAttrib4bv;
113   PFNGLVERTEXATTRIB4DPROC           glVertexAttrib4d;
114   PFNGLVERTEXATTRIB4DVPROC          glVertexAttrib4dv;
115   PFNGLVERTEXATTRIB4FPROC           glVertexAttrib4f;
116   PFNGLVERTEXATTRIB4FVPROC          glVertexAttrib4fv;
117   PFNGLVERTEXATTRIB4IVPROC          glVertexAttrib4iv;
118   PFNGLVERTEXATTRIB4SPROC           glVertexAttrib4s;
119   PFNGLVERTEXATTRIB4SVPROC          glVertexAttrib4sv;
120   PFNGLVERTEXATTRIB4UBVPROC         glVertexAttrib4ubv;
121   PFNGLVERTEXATTRIB4UIVPROC         glVertexAttrib4uiv;
122   PFNGLVERTEXATTRIB4USVPROC         glVertexAttrib4usv;
123   PFNGLVERTEXATTRIBPOINTERPROC      glVertexAttribPointer;
124
125 };
126
127 #endif // _OpenGl_GlCore20_H__