0030748: Visualization - Marker displayed in immediate layer ruins QT Quick view...
[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;
01ca42b2 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;
01ca42b2 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;
01ca42b2 82 using theBaseClass_t::glVertexAttrib1f;
83 using theBaseClass_t::glVertexAttrib1fv;
01ca42b2 84 using theBaseClass_t::glVertexAttrib2f;
85 using theBaseClass_t::glVertexAttrib2fv;
01ca42b2 86 using theBaseClass_t::glVertexAttrib3f;
87 using theBaseClass_t::glVertexAttrib3fv;
ca3c13d1 88 using theBaseClass_t::glVertexAttrib4f;
89 using theBaseClass_t::glVertexAttrib4fv;
90 using theBaseClass_t::glVertexAttribPointer;
91
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;
01ca42b2 107 using theBaseClass_t::glVertexAttrib3s;
108 using theBaseClass_t::glVertexAttrib3sv;
ca3c13d1 109 using theBaseClass_t::glVertexAttrib4s;
110 using theBaseClass_t::glVertexAttrib4sv;
111 using theBaseClass_t::glVertexAttrib4iv;
01ca42b2 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;
01ca42b2 120 using theBaseClass_t::glVertexAttrib4ubv;
121 using theBaseClass_t::glVertexAttrib4uiv;
122 using theBaseClass_t::glVertexAttrib4usv;
ca3c13d1 123#endif
5f8b738e 124
125};
126
01ca42b2 127//! OpenGL 2.0 core based on 1.5 version.
128typedef OpenGl_TmplCore20<OpenGl_GlCore15> OpenGl_GlCore20;
129
130//! OpenGL 2.0 without deprecated entry points.
131typedef OpenGl_TmplCore20<OpenGl_GlCore15Fwd> OpenGl_GlCore20Fwd;
132
133#endif // _OpenGl_GlCore20_Header