0027816: Visualization - provide an API for overriding clipping planes list
[occt.git] / src / OpenGl / OpenGl_GlCore41.hxx
CommitLineData
01ca42b2 1// Created on: 2014-03-17
2// Created by: Kirill GAVRILOV
3// Copyright (c) 2014 OPEN CASCADE SAS
4//
5// This file is part of Open CASCADE Technology software library.
6//
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.
12//
13// Alternatively, this file may be used under the terms of Open CASCADE
14// commercial license or contractual agreement.
15
16#ifndef _OpenGl_GlCore41_Header
17#define _OpenGl_GlCore41_Header
18
19#include <OpenGl_GlCore40.hxx>
20
21//! OpenGL 4.1 definition.
22template<typename theBaseClass_t>
23struct OpenGl_TmplCore41 : public theBaseClass_t
24{
25
ca3c13d1 26#if !defined(GL_ES_VERSION_2_0)
27
01ca42b2 28public: //! @name GL_ARB_ES2_compatibility (added to OpenGL 4.1 core)
29
30 using theBaseClass_t::glReleaseShaderCompiler;
31 using theBaseClass_t::glShaderBinary;
32 using theBaseClass_t::glGetShaderPrecisionFormat;
33 using theBaseClass_t::glDepthRangef;
34 using theBaseClass_t::glClearDepthf;
35
36public: //! @name GL_ARB_get_program_binary (added to OpenGL 4.1 core)
37
38 using theBaseClass_t::glGetProgramBinary;
39 using theBaseClass_t::glProgramBinary;
40 using theBaseClass_t::glProgramParameteri;
41
42public: //! @name GL_ARB_separate_shader_objects (added to OpenGL 4.1 core)
43
44 using theBaseClass_t::glUseProgramStages;
45 using theBaseClass_t::glActiveShaderProgram;
46 using theBaseClass_t::glCreateShaderProgramv;
47 using theBaseClass_t::glBindProgramPipeline;
48 using theBaseClass_t::glDeleteProgramPipelines;
49 using theBaseClass_t::glGenProgramPipelines;
50 using theBaseClass_t::glIsProgramPipeline;
51 using theBaseClass_t::glGetProgramPipelineiv;
52 using theBaseClass_t::glProgramUniform1i;
53 using theBaseClass_t::glProgramUniform1iv;
54 using theBaseClass_t::glProgramUniform1f;
55 using theBaseClass_t::glProgramUniform1fv;
56 using theBaseClass_t::glProgramUniform1d;
57 using theBaseClass_t::glProgramUniform1dv;
58 using theBaseClass_t::glProgramUniform1ui;
59 using theBaseClass_t::glProgramUniform1uiv;
60 using theBaseClass_t::glProgramUniform2i;
61 using theBaseClass_t::glProgramUniform2iv;
62 using theBaseClass_t::glProgramUniform2f;
63 using theBaseClass_t::glProgramUniform2fv;
64 using theBaseClass_t::glProgramUniform2d;
65 using theBaseClass_t::glProgramUniform2dv;
66 using theBaseClass_t::glProgramUniform2ui;
67 using theBaseClass_t::glProgramUniform2uiv;
68 using theBaseClass_t::glProgramUniform3i;
69 using theBaseClass_t::glProgramUniform3iv;
70 using theBaseClass_t::glProgramUniform3f;
71 using theBaseClass_t::glProgramUniform3fv;
72 using theBaseClass_t::glProgramUniform3d;
73 using theBaseClass_t::glProgramUniform3dv;
74 using theBaseClass_t::glProgramUniform3ui;
75 using theBaseClass_t::glProgramUniform3uiv;
76 using theBaseClass_t::glProgramUniform4i;
77 using theBaseClass_t::glProgramUniform4iv;
78 using theBaseClass_t::glProgramUniform4f;
79 using theBaseClass_t::glProgramUniform4fv;
80 using theBaseClass_t::glProgramUniform4d;
81 using theBaseClass_t::glProgramUniform4dv;
82 using theBaseClass_t::glProgramUniform4ui;
83 using theBaseClass_t::glProgramUniform4uiv;
84 using theBaseClass_t::glProgramUniformMatrix2fv;
85 using theBaseClass_t::glProgramUniformMatrix3fv;
86 using theBaseClass_t::glProgramUniformMatrix4fv;
87 using theBaseClass_t::glProgramUniformMatrix2dv;
88 using theBaseClass_t::glProgramUniformMatrix3dv;
89 using theBaseClass_t::glProgramUniformMatrix4dv;
90 using theBaseClass_t::glProgramUniformMatrix2x3fv;
91 using theBaseClass_t::glProgramUniformMatrix3x2fv;
92 using theBaseClass_t::glProgramUniformMatrix2x4fv;
93 using theBaseClass_t::glProgramUniformMatrix4x2fv;
94 using theBaseClass_t::glProgramUniformMatrix3x4fv;
95 using theBaseClass_t::glProgramUniformMatrix4x3fv;
96 using theBaseClass_t::glProgramUniformMatrix2x3dv;
97 using theBaseClass_t::glProgramUniformMatrix3x2dv;
98 using theBaseClass_t::glProgramUniformMatrix2x4dv;
99 using theBaseClass_t::glProgramUniformMatrix4x2dv;
100 using theBaseClass_t::glProgramUniformMatrix3x4dv;
101 using theBaseClass_t::glProgramUniformMatrix4x3dv;
102 using theBaseClass_t::glValidateProgramPipeline;
103 using theBaseClass_t::glGetProgramPipelineInfoLog;
104
105public: //! @name GL_ARB_vertex_attrib_64bit (added to OpenGL 4.1 core)
106
107 using theBaseClass_t::glVertexAttribL1d;
108 using theBaseClass_t::glVertexAttribL2d;
109 using theBaseClass_t::glVertexAttribL3d;
110 using theBaseClass_t::glVertexAttribL4d;
111 using theBaseClass_t::glVertexAttribL1dv;
112 using theBaseClass_t::glVertexAttribL2dv;
113 using theBaseClass_t::glVertexAttribL3dv;
114 using theBaseClass_t::glVertexAttribL4dv;
115 using theBaseClass_t::glVertexAttribLPointer;
116 using theBaseClass_t::glGetVertexAttribLdv;
117
118public: //! @name GL_ARB_viewport_array (added to OpenGL 4.1 core)
119
120 using theBaseClass_t::glViewportArrayv;
121 using theBaseClass_t::glViewportIndexedf;
122 using theBaseClass_t::glViewportIndexedfv;
123 using theBaseClass_t::glScissorArrayv;
124 using theBaseClass_t::glScissorIndexed;
125 using theBaseClass_t::glScissorIndexedv;
126 using theBaseClass_t::glDepthRangeArrayv;
127 using theBaseClass_t::glDepthRangeIndexed;
128 using theBaseClass_t::glGetFloati_v;
129 using theBaseClass_t::glGetDoublei_v;
130
131public: //! @name OpenGL 4.1 additives to 4.0
132
ca3c13d1 133#endif
134
01ca42b2 135};
136
137//! OpenGL 4.1 compatibility profile.
138typedef OpenGl_TmplCore41<OpenGl_GlCore40Back> OpenGl_GlCore41Back;
139
140//! OpenGL 4.1 core profile.
141typedef OpenGl_TmplCore41<OpenGl_GlCore40> OpenGl_GlCore41;
142
143#endif // _OpenGl_GlCore41_Header