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_GlCore30_Header |
17 | #define _OpenGl_GlCore30_Header |
18 | |
19 | #include <OpenGl_GlCore21.hxx> |
20 | |
21 | //! OpenGL 3.0 core. |
22 | //! This is first version with deprecation model introduced |
23 | //! - a lot of functionality regarding to fixed pipeline were marked deprecated. |
24 | //! Notice that nothing were actually removed in this version (unless Forward context loaded)! |
25 | template<typename theBaseClass_t> |
26 | struct OpenGl_TmplCore30 : public theBaseClass_t |
27 | { |
28 | |
29 | public: //! @name GL_ARB_framebuffer_object (added to OpenGL 3.0 core) |
30 | |
ca3c13d1 |
31 | #if !defined(GL_ES_VERSION_2_0) |
32 | |
01ca42b2 |
33 | using theBaseClass_t::glIsRenderbuffer; |
34 | using theBaseClass_t::glBindRenderbuffer; |
35 | using theBaseClass_t::glDeleteRenderbuffers; |
36 | using theBaseClass_t::glGenRenderbuffers; |
37 | using theBaseClass_t::glRenderbufferStorage; |
38 | using theBaseClass_t::glGetRenderbufferParameteriv; |
39 | using theBaseClass_t::glIsFramebuffer; |
40 | using theBaseClass_t::glBindFramebuffer; |
41 | using theBaseClass_t::glDeleteFramebuffers; |
42 | using theBaseClass_t::glGenFramebuffers; |
43 | using theBaseClass_t::glCheckFramebufferStatus; |
44 | using theBaseClass_t::glFramebufferTexture1D; |
45 | using theBaseClass_t::glFramebufferTexture2D; |
46 | using theBaseClass_t::glFramebufferTexture3D; |
47 | using theBaseClass_t::glFramebufferRenderbuffer; |
48 | using theBaseClass_t::glGetFramebufferAttachmentParameteriv; |
49 | using theBaseClass_t::glGenerateMipmap; |
50 | using theBaseClass_t::glBlitFramebuffer; |
51 | using theBaseClass_t::glRenderbufferStorageMultisample; |
52 | using theBaseClass_t::glFramebufferTextureLayer; |
53 | |
54 | public: //! @name GL_ARB_vertex_array_object (added to OpenGL 3.0 core) |
55 | |
56 | using theBaseClass_t::glBindVertexArray; |
57 | using theBaseClass_t::glDeleteVertexArrays; |
58 | using theBaseClass_t::glGenVertexArrays; |
59 | using theBaseClass_t::glIsVertexArray; |
60 | |
61 | public: //! @name GL_ARB_map_buffer_range (added to OpenGL 3.0 core) |
62 | |
63 | using theBaseClass_t::glMapBufferRange; |
64 | using theBaseClass_t::glFlushMappedBufferRange; |
65 | |
66 | public: //! @name OpenGL 3.0 additives to 2.1 |
67 | |
68 | using theBaseClass_t::glColorMaski; |
69 | using theBaseClass_t::glGetBooleani_v; |
70 | using theBaseClass_t::glGetIntegeri_v; |
71 | using theBaseClass_t::glEnablei; |
72 | using theBaseClass_t::glDisablei; |
73 | using theBaseClass_t::glIsEnabledi; |
74 | using theBaseClass_t::glBeginTransformFeedback; |
75 | using theBaseClass_t::glEndTransformFeedback; |
76 | using theBaseClass_t::glBindBufferRange; |
77 | using theBaseClass_t::glBindBufferBase; |
78 | using theBaseClass_t::glTransformFeedbackVaryings; |
79 | using theBaseClass_t::glGetTransformFeedbackVarying; |
80 | using theBaseClass_t::glClampColor; |
81 | using theBaseClass_t::glBeginConditionalRender; |
82 | using theBaseClass_t::glEndConditionalRender; |
83 | using theBaseClass_t::glVertexAttribIPointer; |
84 | using theBaseClass_t::glGetVertexAttribIiv; |
85 | using theBaseClass_t::glGetVertexAttribIuiv; |
86 | using theBaseClass_t::glVertexAttribI1i; |
87 | using theBaseClass_t::glVertexAttribI2i; |
88 | using theBaseClass_t::glVertexAttribI3i; |
89 | using theBaseClass_t::glVertexAttribI4i; |
90 | using theBaseClass_t::glVertexAttribI1ui; |
91 | using theBaseClass_t::glVertexAttribI2ui; |
92 | using theBaseClass_t::glVertexAttribI3ui; |
93 | using theBaseClass_t::glVertexAttribI4ui; |
94 | using theBaseClass_t::glVertexAttribI1iv; |
95 | using theBaseClass_t::glVertexAttribI2iv; |
96 | using theBaseClass_t::glVertexAttribI3iv; |
97 | using theBaseClass_t::glVertexAttribI4iv; |
98 | using theBaseClass_t::glVertexAttribI1uiv; |
99 | using theBaseClass_t::glVertexAttribI2uiv; |
100 | using theBaseClass_t::glVertexAttribI3uiv; |
101 | using theBaseClass_t::glVertexAttribI4uiv; |
102 | using theBaseClass_t::glVertexAttribI4bv; |
103 | using theBaseClass_t::glVertexAttribI4sv; |
104 | using theBaseClass_t::glVertexAttribI4ubv; |
105 | using theBaseClass_t::glVertexAttribI4usv; |
106 | using theBaseClass_t::glGetUniformuiv; |
107 | using theBaseClass_t::glBindFragDataLocation; |
108 | using theBaseClass_t::glGetFragDataLocation; |
109 | using theBaseClass_t::glUniform1ui; |
110 | using theBaseClass_t::glUniform2ui; |
111 | using theBaseClass_t::glUniform3ui; |
112 | using theBaseClass_t::glUniform4ui; |
113 | using theBaseClass_t::glUniform1uiv; |
114 | using theBaseClass_t::glUniform2uiv; |
115 | using theBaseClass_t::glUniform3uiv; |
116 | using theBaseClass_t::glUniform4uiv; |
117 | using theBaseClass_t::glTexParameterIiv; |
118 | using theBaseClass_t::glTexParameterIuiv; |
119 | using theBaseClass_t::glGetTexParameterIiv; |
120 | using theBaseClass_t::glGetTexParameterIuiv; |
121 | using theBaseClass_t::glClearBufferiv; |
122 | using theBaseClass_t::glClearBufferuiv; |
123 | using theBaseClass_t::glClearBufferfv; |
124 | using theBaseClass_t::glClearBufferfi; |
125 | using theBaseClass_t::glGetStringi; |
126 | |
ca3c13d1 |
127 | #endif |
128 | |
01ca42b2 |
129 | }; |
130 | |
131 | //! OpenGL 3.0 core based on 2.1 version. |
132 | typedef OpenGl_TmplCore30<OpenGl_GlCore21> OpenGl_GlCore30; |
133 | |
134 | //! OpenGL 3.0 without deprecated entry points. |
135 | //! Notice that this doesn't actually corresponds to GL3.0 forward profile! |
136 | typedef OpenGl_TmplCore30<OpenGl_GlCore21Fwd> OpenGl_GlCore30Fwd; |
137 | |
138 | #endif // _OpenGl_GlCore30_Header |