0024732: OpenGl_Context - retrieve functions up to GL4.4
[occt.git] / src / OpenGl / OpenGl_GlCore20.hxx
CommitLineData
6aca4d39 1// Created on: 2012-03-06
b311480e 2// Created by: Kirill GAVRILOV
6aca4d39 3// Copyright (c) 2012-2014 OPEN CASCADE SAS
b311480e 4//
973c2be1 5// This file is part of Open CASCADE Technology software library.
b311480e 6//
d5f74e42 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
973c2be1 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.
b311480e 12//
973c2be1 13// Alternatively, this file may be used under the terms of Open CASCADE
14// commercial license or contractual agreement.
5f8b738e 15
01ca42b2 16#ifndef _OpenGl_GlCore20_Header
17#define _OpenGl_GlCore20_Header
5f8b738e 18
19#include <OpenGl_GlCore15.hxx>
20
01ca42b2 21//! OpenGL 2.0 core based on 1.5 version.
22template<typename theBaseClass_t>
23struct OpenGl_TmplCore20 : public theBaseClass_t
5f8b738e 24{
25
01ca42b2 26public: //! @name OpenGL 2.0 additives to 1.5
27
28 using theBaseClass_t::glBlendEquationSeparate;
29 using theBaseClass_t::glDrawBuffers;
30 using theBaseClass_t::glStencilOpSeparate;
31 using theBaseClass_t::glStencilFuncSeparate;
32 using theBaseClass_t::glStencilMaskSeparate;
33 using theBaseClass_t::glAttachShader;
34 using theBaseClass_t::glBindAttribLocation;
35 using theBaseClass_t::glCompileShader;
36 using theBaseClass_t::glCreateProgram;
37 using theBaseClass_t::glCreateShader;
38 using theBaseClass_t::glDeleteProgram;
39 using theBaseClass_t::glDeleteShader;
40 using theBaseClass_t::glDetachShader;
41 using theBaseClass_t::glDisableVertexAttribArray;
42 using theBaseClass_t::glEnableVertexAttribArray;
43 using theBaseClass_t::glGetActiveAttrib;
44 using theBaseClass_t::glGetActiveUniform;
45 using theBaseClass_t::glGetAttachedShaders;
46 using theBaseClass_t::glGetAttribLocation;
47 using theBaseClass_t::glGetProgramiv;
48 using theBaseClass_t::glGetProgramInfoLog;
49 using theBaseClass_t::glGetShaderiv;
50 using theBaseClass_t::glGetShaderInfoLog;
51 using theBaseClass_t::glGetShaderSource;
52 using theBaseClass_t::glGetUniformLocation;
53 using theBaseClass_t::glGetUniformfv;
54 using theBaseClass_t::glGetUniformiv;
55 using theBaseClass_t::glGetVertexAttribdv;
56 using theBaseClass_t::glGetVertexAttribfv;
57 using theBaseClass_t::glGetVertexAttribiv;
58 using theBaseClass_t::glGetVertexAttribPointerv;
59 using theBaseClass_t::glIsProgram;
60 using theBaseClass_t::glIsShader;
61 using theBaseClass_t::glLinkProgram;
62 using theBaseClass_t::glShaderSource;
63 using theBaseClass_t::glUseProgram;
64 using theBaseClass_t::glUniform1f;
65 using theBaseClass_t::glUniform2f;
66 using theBaseClass_t::glUniform3f;
67 using theBaseClass_t::glUniform4f;
68 using theBaseClass_t::glUniform1i;
69 using theBaseClass_t::glUniform2i;
70 using theBaseClass_t::glUniform3i;
71 using theBaseClass_t::glUniform4i;
72 using theBaseClass_t::glUniform1fv;
73 using theBaseClass_t::glUniform2fv;
74 using theBaseClass_t::glUniform3fv;
75 using theBaseClass_t::glUniform4fv;
76 using theBaseClass_t::glUniform1iv;
77 using theBaseClass_t::glUniform2iv;
78 using theBaseClass_t::glUniform3iv;
79 using theBaseClass_t::glUniform4iv;
80 using theBaseClass_t::glUniformMatrix2fv;
81 using theBaseClass_t::glUniformMatrix3fv;
82 using theBaseClass_t::glUniformMatrix4fv;
83 using theBaseClass_t::glValidateProgram;
84 using theBaseClass_t::glVertexAttrib1d;
85 using theBaseClass_t::glVertexAttrib1dv;
86 using theBaseClass_t::glVertexAttrib1f;
87 using theBaseClass_t::glVertexAttrib1fv;
88 using theBaseClass_t::glVertexAttrib1s;
89 using theBaseClass_t::glVertexAttrib1sv;
90 using theBaseClass_t::glVertexAttrib2d;
91 using theBaseClass_t::glVertexAttrib2dv;
92 using theBaseClass_t::glVertexAttrib2f;
93 using theBaseClass_t::glVertexAttrib2fv;
94 using theBaseClass_t::glVertexAttrib2s;
95 using theBaseClass_t::glVertexAttrib2sv;
96 using theBaseClass_t::glVertexAttrib3d;
97 using theBaseClass_t::glVertexAttrib3dv;
98 using theBaseClass_t::glVertexAttrib3f;
99 using theBaseClass_t::glVertexAttrib3fv;
100 using theBaseClass_t::glVertexAttrib3s;
101 using theBaseClass_t::glVertexAttrib3sv;
102 using theBaseClass_t::glVertexAttrib4Nbv;
103 using theBaseClass_t::glVertexAttrib4Niv;
104 using theBaseClass_t::glVertexAttrib4Nsv;
105 using theBaseClass_t::glVertexAttrib4Nub;
106 using theBaseClass_t::glVertexAttrib4Nubv;
107 using theBaseClass_t::glVertexAttrib4Nuiv;
108 using theBaseClass_t::glVertexAttrib4Nusv;
109 using theBaseClass_t::glVertexAttrib4bv;
110 using theBaseClass_t::glVertexAttrib4d;
111 using theBaseClass_t::glVertexAttrib4dv;
112 using theBaseClass_t::glVertexAttrib4f;
113 using theBaseClass_t::glVertexAttrib4fv;
114 using theBaseClass_t::glVertexAttrib4iv;
115 using theBaseClass_t::glVertexAttrib4s;
116 using theBaseClass_t::glVertexAttrib4sv;
117 using theBaseClass_t::glVertexAttrib4ubv;
118 using theBaseClass_t::glVertexAttrib4uiv;
119 using theBaseClass_t::glVertexAttrib4usv;
120 using theBaseClass_t::glVertexAttribPointer;
5f8b738e 121
122};
123
01ca42b2 124//! OpenGL 2.0 core based on 1.5 version.
125typedef OpenGl_TmplCore20<OpenGl_GlCore15> OpenGl_GlCore20;
126
127//! OpenGL 2.0 without deprecated entry points.
128typedef OpenGl_TmplCore20<OpenGl_GlCore15Fwd> OpenGl_GlCore20Fwd;
129
130#endif // _OpenGl_GlCore20_Header