1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-08 18:40:55 +03:00
occt/src/OpenGl/OpenGl_GlCore20.hxx
kgv 01ca42b2c1 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
2014-03-20 13:51:05 +04:00

131 lines
5.0 KiB
C++

// Created on: 2012-03-06
// Created by: Kirill GAVRILOV
// Copyright (c) 2012-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _OpenGl_GlCore20_Header
#define _OpenGl_GlCore20_Header
#include <OpenGl_GlCore15.hxx>
//! OpenGL 2.0 core based on 1.5 version.
template<typename theBaseClass_t>
struct OpenGl_TmplCore20 : public theBaseClass_t
{
public: //! @name OpenGL 2.0 additives to 1.5
using theBaseClass_t::glBlendEquationSeparate;
using theBaseClass_t::glDrawBuffers;
using theBaseClass_t::glStencilOpSeparate;
using theBaseClass_t::glStencilFuncSeparate;
using theBaseClass_t::glStencilMaskSeparate;
using theBaseClass_t::glAttachShader;
using theBaseClass_t::glBindAttribLocation;
using theBaseClass_t::glCompileShader;
using theBaseClass_t::glCreateProgram;
using theBaseClass_t::glCreateShader;
using theBaseClass_t::glDeleteProgram;
using theBaseClass_t::glDeleteShader;
using theBaseClass_t::glDetachShader;
using theBaseClass_t::glDisableVertexAttribArray;
using theBaseClass_t::glEnableVertexAttribArray;
using theBaseClass_t::glGetActiveAttrib;
using theBaseClass_t::glGetActiveUniform;
using theBaseClass_t::glGetAttachedShaders;
using theBaseClass_t::glGetAttribLocation;
using theBaseClass_t::glGetProgramiv;
using theBaseClass_t::glGetProgramInfoLog;
using theBaseClass_t::glGetShaderiv;
using theBaseClass_t::glGetShaderInfoLog;
using theBaseClass_t::glGetShaderSource;
using theBaseClass_t::glGetUniformLocation;
using theBaseClass_t::glGetUniformfv;
using theBaseClass_t::glGetUniformiv;
using theBaseClass_t::glGetVertexAttribdv;
using theBaseClass_t::glGetVertexAttribfv;
using theBaseClass_t::glGetVertexAttribiv;
using theBaseClass_t::glGetVertexAttribPointerv;
using theBaseClass_t::glIsProgram;
using theBaseClass_t::glIsShader;
using theBaseClass_t::glLinkProgram;
using theBaseClass_t::glShaderSource;
using theBaseClass_t::glUseProgram;
using theBaseClass_t::glUniform1f;
using theBaseClass_t::glUniform2f;
using theBaseClass_t::glUniform3f;
using theBaseClass_t::glUniform4f;
using theBaseClass_t::glUniform1i;
using theBaseClass_t::glUniform2i;
using theBaseClass_t::glUniform3i;
using theBaseClass_t::glUniform4i;
using theBaseClass_t::glUniform1fv;
using theBaseClass_t::glUniform2fv;
using theBaseClass_t::glUniform3fv;
using theBaseClass_t::glUniform4fv;
using theBaseClass_t::glUniform1iv;
using theBaseClass_t::glUniform2iv;
using theBaseClass_t::glUniform3iv;
using theBaseClass_t::glUniform4iv;
using theBaseClass_t::glUniformMatrix2fv;
using theBaseClass_t::glUniformMatrix3fv;
using theBaseClass_t::glUniformMatrix4fv;
using theBaseClass_t::glValidateProgram;
using theBaseClass_t::glVertexAttrib1d;
using theBaseClass_t::glVertexAttrib1dv;
using theBaseClass_t::glVertexAttrib1f;
using theBaseClass_t::glVertexAttrib1fv;
using theBaseClass_t::glVertexAttrib1s;
using theBaseClass_t::glVertexAttrib1sv;
using theBaseClass_t::glVertexAttrib2d;
using theBaseClass_t::glVertexAttrib2dv;
using theBaseClass_t::glVertexAttrib2f;
using theBaseClass_t::glVertexAttrib2fv;
using theBaseClass_t::glVertexAttrib2s;
using theBaseClass_t::glVertexAttrib2sv;
using theBaseClass_t::glVertexAttrib3d;
using theBaseClass_t::glVertexAttrib3dv;
using theBaseClass_t::glVertexAttrib3f;
using theBaseClass_t::glVertexAttrib3fv;
using theBaseClass_t::glVertexAttrib3s;
using theBaseClass_t::glVertexAttrib3sv;
using theBaseClass_t::glVertexAttrib4Nbv;
using theBaseClass_t::glVertexAttrib4Niv;
using theBaseClass_t::glVertexAttrib4Nsv;
using theBaseClass_t::glVertexAttrib4Nub;
using theBaseClass_t::glVertexAttrib4Nubv;
using theBaseClass_t::glVertexAttrib4Nuiv;
using theBaseClass_t::glVertexAttrib4Nusv;
using theBaseClass_t::glVertexAttrib4bv;
using theBaseClass_t::glVertexAttrib4d;
using theBaseClass_t::glVertexAttrib4dv;
using theBaseClass_t::glVertexAttrib4f;
using theBaseClass_t::glVertexAttrib4fv;
using theBaseClass_t::glVertexAttrib4iv;
using theBaseClass_t::glVertexAttrib4s;
using theBaseClass_t::glVertexAttrib4sv;
using theBaseClass_t::glVertexAttrib4ubv;
using theBaseClass_t::glVertexAttrib4uiv;
using theBaseClass_t::glVertexAttrib4usv;
using theBaseClass_t::glVertexAttribPointer;
};
//! OpenGL 2.0 core based on 1.5 version.
typedef OpenGl_TmplCore20<OpenGl_GlCore15> OpenGl_GlCore20;
//! OpenGL 2.0 without deprecated entry points.
typedef OpenGl_TmplCore20<OpenGl_GlCore15Fwd> OpenGl_GlCore20Fwd;
#endif // _OpenGl_GlCore20_Header