1 // Created on: 2012-03-06
2 // Created by: Kirill GAVRILOV
3 // Copyright (c) 2012-2014 OPEN CASCADE SAS
5 // This file is part of Open CASCADE Technology software library.
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
16 #ifndef _OpenGl_GlCore20_Header
17 #define _OpenGl_GlCore20_Header
19 #include <OpenGl_GlCore15.hxx>
21 //! OpenGL 2.0 core based on 1.5 version.
22 template<typename theBaseClass_t>
23 struct OpenGl_TmplCore20 : public theBaseClass_t
26 public: //! @name OpenGL 2.0 additives to 1.5
28 using theBaseClass_t::glBlendEquationSeparate;
29 using theBaseClass_t::glStencilOpSeparate;
30 using theBaseClass_t::glStencilFuncSeparate;
31 using theBaseClass_t::glStencilMaskSeparate;
32 using theBaseClass_t::glAttachShader;
33 using theBaseClass_t::glBindAttribLocation;
34 using theBaseClass_t::glCompileShader;
35 using theBaseClass_t::glCreateProgram;
36 using theBaseClass_t::glCreateShader;
37 using theBaseClass_t::glDeleteProgram;
38 using theBaseClass_t::glDeleteShader;
39 using theBaseClass_t::glDetachShader;
40 using theBaseClass_t::glDisableVertexAttribArray;
41 using theBaseClass_t::glEnableVertexAttribArray;
42 using theBaseClass_t::glGetActiveAttrib;
43 using theBaseClass_t::glGetActiveUniform;
44 using theBaseClass_t::glGetAttachedShaders;
45 using theBaseClass_t::glGetAttribLocation;
46 using theBaseClass_t::glGetProgramiv;
47 using theBaseClass_t::glGetProgramInfoLog;
48 using theBaseClass_t::glGetShaderiv;
49 using theBaseClass_t::glGetShaderInfoLog;
50 using theBaseClass_t::glGetShaderSource;
51 using theBaseClass_t::glGetUniformLocation;
52 using theBaseClass_t::glGetUniformfv;
53 using theBaseClass_t::glGetUniformiv;
54 using theBaseClass_t::glGetVertexAttribfv;
55 using theBaseClass_t::glGetVertexAttribiv;
56 using theBaseClass_t::glGetVertexAttribPointerv;
57 using theBaseClass_t::glIsProgram;
58 using theBaseClass_t::glIsShader;
59 using theBaseClass_t::glLinkProgram;
60 using theBaseClass_t::glShaderSource;
61 using theBaseClass_t::glUseProgram;
62 using theBaseClass_t::glUniform1f;
63 using theBaseClass_t::glUniform2f;
64 using theBaseClass_t::glUniform3f;
65 using theBaseClass_t::glUniform4f;
66 using theBaseClass_t::glUniform1i;
67 using theBaseClass_t::glUniform2i;
68 using theBaseClass_t::glUniform3i;
69 using theBaseClass_t::glUniform4i;
70 using theBaseClass_t::glUniform1fv;
71 using theBaseClass_t::glUniform2fv;
72 using theBaseClass_t::glUniform3fv;
73 using theBaseClass_t::glUniform4fv;
74 using theBaseClass_t::glUniform1iv;
75 using theBaseClass_t::glUniform2iv;
76 using theBaseClass_t::glUniform3iv;
77 using theBaseClass_t::glUniform4iv;
78 using theBaseClass_t::glUniformMatrix2fv;
79 using theBaseClass_t::glUniformMatrix3fv;
80 using theBaseClass_t::glUniformMatrix4fv;
81 using theBaseClass_t::glValidateProgram;
82 using theBaseClass_t::glVertexAttrib1f;
83 using theBaseClass_t::glVertexAttrib1fv;
84 using theBaseClass_t::glVertexAttrib2f;
85 using theBaseClass_t::glVertexAttrib2fv;
86 using theBaseClass_t::glVertexAttrib3f;
87 using theBaseClass_t::glVertexAttrib3fv;
88 using theBaseClass_t::glVertexAttrib4f;
89 using theBaseClass_t::glVertexAttrib4fv;
90 using theBaseClass_t::glVertexAttribPointer;
92 #if !defined(GL_ES_VERSION_2_0)
93 using theBaseClass_t::glDrawBuffers;
94 using theBaseClass_t::glGetVertexAttribdv;
95 using theBaseClass_t::glVertexAttrib1d;
96 using theBaseClass_t::glVertexAttrib1dv;
97 using theBaseClass_t::glVertexAttrib2d;
98 using theBaseClass_t::glVertexAttrib2dv;
99 using theBaseClass_t::glVertexAttrib3d;
100 using theBaseClass_t::glVertexAttrib3dv;
101 using theBaseClass_t::glVertexAttrib4d;
102 using theBaseClass_t::glVertexAttrib4dv;
103 using theBaseClass_t::glVertexAttrib1s;
104 using theBaseClass_t::glVertexAttrib1sv;
105 using theBaseClass_t::glVertexAttrib2s;
106 using theBaseClass_t::glVertexAttrib2sv;
107 using theBaseClass_t::glVertexAttrib3s;
108 using theBaseClass_t::glVertexAttrib3sv;
109 using theBaseClass_t::glVertexAttrib4s;
110 using theBaseClass_t::glVertexAttrib4sv;
111 using theBaseClass_t::glVertexAttrib4iv;
112 using theBaseClass_t::glVertexAttrib4Nbv;
113 using theBaseClass_t::glVertexAttrib4Niv;
114 using theBaseClass_t::glVertexAttrib4Nsv;
115 using theBaseClass_t::glVertexAttrib4Nub;
116 using theBaseClass_t::glVertexAttrib4Nubv;
117 using theBaseClass_t::glVertexAttrib4Nuiv;
118 using theBaseClass_t::glVertexAttrib4Nusv;
119 using theBaseClass_t::glVertexAttrib4bv;
120 using theBaseClass_t::glVertexAttrib4ubv;
121 using theBaseClass_t::glVertexAttrib4uiv;
122 using theBaseClass_t::glVertexAttrib4usv;
127 //! OpenGL 2.0 core based on 1.5 version.
128 typedef OpenGl_TmplCore20<OpenGl_GlCore15> OpenGl_GlCore20;
130 //! OpenGL 2.0 without deprecated entry points.
131 typedef OpenGl_TmplCore20<OpenGl_GlCore15Fwd> OpenGl_GlCore20Fwd;
133 #endif // _OpenGl_GlCore20_Header