1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-18 14:27:39 +03:00

0024732: OpenGl_Context - retrieve functions up to GL4.4

Drop unused OpenGl_ArbVBO.
Replace OpenGl_ExtFBO with OpenGl_ArbFBO.

OpenGl_Context - reorganize GL functions management.
OpenGl_GlFunctions structure now stores pointers for all GL functions,
while inheritors specify functions subset using access levels.
Drop fields core12, core13, core14; replace extFBO by arbFBO.

OpenGl_ArbIns, OpenGl_ArbTBO - use GL3.1 core functions
instead of ARB extensions when available.

OpenGl_ArbFBO - provide complete list of functions

OpenGl_GlCore11 - fix misprint

OpenGl_Context.hxx - remove redundant declarations
This commit is contained in:
kgv
2014-03-20 13:50:28 +04:00
committed by bugmaster
parent 228de226a1
commit 01ca42b2c1
34 changed files with 4992 additions and 684 deletions

View File

@@ -13,35 +13,46 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _OpenGl_GlCore15_H__
#define _OpenGl_GlCore15_H__
#ifndef _OpenGl_GlCore15_Header
#define _OpenGl_GlCore15_Header
#include <OpenGl_GlCore14.hxx>
//! Function list for GL1.5 core functionality.
struct OpenGl_GlCore15 : public OpenGl_GlCore14
/**
* OpenGL 1.5 core based on 1.4 version.
*/
template<typename theBaseClass_t>
struct OpenGl_TmplCore15 : public theBaseClass_t
{
PFNGLGENQUERIESPROC glGenQueries;
PFNGLDELETEQUERIESPROC glDeleteQueries;
PFNGLISQUERYPROC glIsQuery;
PFNGLBEGINQUERYPROC glBeginQuery;
PFNGLENDQUERYPROC glEndQuery;
PFNGLGETQUERYIVPROC glGetQueryiv;
PFNGLGETQUERYOBJECTIVPROC glGetQueryObjectiv;
PFNGLGETQUERYOBJECTUIVPROC glGetQueryObjectuiv;
PFNGLBINDBUFFERPROC glBindBuffer;
PFNGLDELETEBUFFERSPROC glDeleteBuffers;
PFNGLGENBUFFERSPROC glGenBuffers;
PFNGLISBUFFERPROC glIsBuffer;
PFNGLBUFFERDATAPROC glBufferData;
PFNGLBUFFERSUBDATAPROC glBufferSubData;
PFNGLGETBUFFERSUBDATAPROC glGetBufferSubData;
PFNGLMAPBUFFERPROC glMapBuffer;
PFNGLUNMAPBUFFERPROC glUnmapBuffer;
PFNGLGETBUFFERPARAMETERIVPROC glGetBufferParameteriv;
PFNGLGETBUFFERPOINTERVPROC glGetBufferPointerv;
public: //! @name OpenGL 1.5 additives to 1.4
using theBaseClass_t::glGenQueries;
using theBaseClass_t::glDeleteQueries;
using theBaseClass_t::glIsQuery;
using theBaseClass_t::glBeginQuery;
using theBaseClass_t::glEndQuery;
using theBaseClass_t::glGetQueryiv;
using theBaseClass_t::glGetQueryObjectiv;
using theBaseClass_t::glGetQueryObjectuiv;
using theBaseClass_t::glBindBuffer;
using theBaseClass_t::glDeleteBuffers;
using theBaseClass_t::glGenBuffers;
using theBaseClass_t::glIsBuffer;
using theBaseClass_t::glBufferData;
using theBaseClass_t::glBufferSubData;
using theBaseClass_t::glGetBufferSubData;
using theBaseClass_t::glMapBuffer;
using theBaseClass_t::glUnmapBuffer;
using theBaseClass_t::glGetBufferParameteriv;
using theBaseClass_t::glGetBufferPointerv;
};
#endif // _OpenGl_GlCore15_H__
//! OpenGL 1.5 core based on 1.4 version.
typedef OpenGl_TmplCore15<OpenGl_GlCore14> OpenGl_GlCore15;
//! OpenGL 1.5 without deprecated entry points.
typedef OpenGl_TmplCore15<OpenGl_GlCore14Fwd> OpenGl_GlCore15Fwd;
#endif // _OpenGl_GlCore15_Header