forked from bartvdbraak/blender
Got the armatures, GLSL shaders and other snailrose changes to work for Linux.
now attempting to get this in cvs :)
This commit is contained in:
parent
9f429be173
commit
88a8508b34
@ -10,6 +10,7 @@
|
|||||||
#include <GL/glu.h>
|
#include <GL/glu.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#include "BL_Material.h"
|
#include "BL_Material.h"
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
#include <GL/glu.h>
|
#include <GL/glu.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include "BL_Shader.h"
|
#include "BL_Shader.h"
|
||||||
#include "BL_Material.h"
|
#include "BL_Material.h"
|
||||||
@ -21,10 +22,15 @@
|
|||||||
|
|
||||||
#include "RAS_GLExtensionManager.h"
|
#include "RAS_GLExtensionManager.h"
|
||||||
|
|
||||||
using namespace bgl;
|
//using namespace bgl;
|
||||||
#define spit(x) std::cout << x << std::endl;
|
#define spit(x) std::cout << x << std::endl;
|
||||||
|
|
||||||
|
|
||||||
|
const bool BL_Shader::Ok()const
|
||||||
|
{
|
||||||
|
return (mShader !=0 && mOk && mUse);
|
||||||
|
}
|
||||||
|
|
||||||
BL_Shader::BL_Shader(int n, PyTypeObject *T)
|
BL_Shader::BL_Shader(int n, PyTypeObject *T)
|
||||||
: PyObjectPlus(T),
|
: PyObjectPlus(T),
|
||||||
mShader(0),
|
mShader(0),
|
||||||
@ -55,6 +61,8 @@ BL_Shader::BL_Shader(int n, PyTypeObject *T)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
using namespace bgl;
|
||||||
|
|
||||||
BL_Shader::~BL_Shader()
|
BL_Shader::~BL_Shader()
|
||||||
{
|
{
|
||||||
#ifdef GL_ARB_shader_objects
|
#ifdef GL_ARB_shader_objects
|
||||||
@ -199,10 +207,6 @@ const uBlending *BL_Shader::getBlending( int pass )
|
|||||||
return &mBlending;
|
return &mBlending;
|
||||||
}
|
}
|
||||||
|
|
||||||
const bool BL_Shader::Ok()const
|
|
||||||
{
|
|
||||||
return (mShader !=0 && mOk && mUse);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void BL_Shader::InitializeSampler(
|
void BL_Shader::InitializeSampler(
|
||||||
|
@ -30,6 +30,8 @@ using namespace bgl;
|
|||||||
|
|
||||||
#include "MEM_guardedalloc.h"
|
#include "MEM_guardedalloc.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
// envmaps
|
// envmaps
|
||||||
#include "IMB_imbuf.h"
|
#include "IMB_imbuf.h"
|
||||||
|
@ -1,18 +1,35 @@
|
|||||||
#ifndef __ARB_MULTITEXTURE_H__
|
#ifndef __ARB_MULTITEXTURE_H__
|
||||||
#define __ARB_MULTITEXTURE_H__
|
#define __ARB_MULTITEXTURE_H__
|
||||||
|
|
||||||
/**
|
/*
|
||||||
Comment out defines GL_... 1, to disable compilation of each extension.
|
make sure glext is included before this, when setting up extensions
|
||||||
GL_ARB_multitexture is the minimum for using blender material settings.
|
|
||||||
For best functionality (GL_ARB_multitexture & GL_ARB_texture_env_combine) are needed.
|
should we try for this?
|
||||||
|
...
|
||||||
|
#include ("glext.h" or "SDL_opengl.h"(will need SDL-1.2.9))
|
||||||
|
...
|
||||||
|
#define BGL_MultiTexture
|
||||||
|
#ifdef GL_VERSION_1_3 // in core
|
||||||
|
#define BGL_TEXTURE0 // GL_TEXTURE0
|
||||||
|
#define bglActiveTexture(unit) bgl::glActiveTexture(unit)
|
||||||
|
// ...
|
||||||
|
#elif GL_ARB_multitexture // GL < 1_3 use extension
|
||||||
|
#define BGL_TEXTURE0 // GL_TEXTURE0_ARB
|
||||||
|
#define bglActiveTexture(unit) bgl::glActiveTextureARB(unit)
|
||||||
|
// ...
|
||||||
|
#else // cant do it, skip
|
||||||
|
#undef BGL_MultiTexture
|
||||||
|
#endif
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
GL_ARB_multitexture
|
GL_ARB_multitexture
|
||||||
---------------------------------------------------------------------------- */
|
---------------------------------------------------------------------------- */
|
||||||
|
/* defined in glext.h
|
||||||
#ifndef GL_ARB_multitexture
|
#ifndef GL_ARB_multitexture
|
||||||
#define GL_ARB_multitexture 1
|
#define GL_ARB_multitexture 1
|
||||||
#endif
|
#endif
|
||||||
|
*/
|
||||||
|
|
||||||
#ifdef GL_ARB_multitexture
|
#ifdef GL_ARB_multitexture
|
||||||
#define GL_TEXTURE0_ARB 0x84C0
|
#define GL_TEXTURE0_ARB 0x84C0
|
||||||
@ -35,9 +52,11 @@
|
|||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
GL_ARB_texture_env_combine
|
GL_ARB_texture_env_combine
|
||||||
---------------------------------------------------------------------------- */
|
---------------------------------------------------------------------------- */
|
||||||
|
/*
|
||||||
#ifndef GL_ARB_texture_env_combine
|
#ifndef GL_ARB_texture_env_combine
|
||||||
#define GL_ARB_texture_env_combine 1
|
#define GL_ARB_texture_env_combine 1
|
||||||
#endif
|
#endif
|
||||||
|
*/
|
||||||
|
|
||||||
#ifdef GL_ARB_texture_env_combine
|
#ifdef GL_ARB_texture_env_combine
|
||||||
#define GL_COMBINE_ARB 0x8570
|
#define GL_COMBINE_ARB 0x8570
|
||||||
@ -67,9 +86,11 @@
|
|||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
GL_ARB_texture_cube_map
|
GL_ARB_texture_cube_map
|
||||||
---------------------------------------------------------------------------- */
|
---------------------------------------------------------------------------- */
|
||||||
|
/*
|
||||||
#ifndef GL_ARB_texture_cube_map
|
#ifndef GL_ARB_texture_cube_map
|
||||||
#define GL_ARB_texture_cube_map 1
|
#define GL_ARB_texture_cube_map 1
|
||||||
#endif
|
#endif
|
||||||
|
*/
|
||||||
|
|
||||||
#ifdef GL_ARB_texture_cube_map
|
#ifdef GL_ARB_texture_cube_map
|
||||||
#define GL_NORMAL_MAP_ARB 0x8511
|
#define GL_NORMAL_MAP_ARB 0x8511
|
||||||
@ -89,10 +110,11 @@
|
|||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
GL_ARB_shader_objects
|
GL_ARB_shader_objects
|
||||||
---------------------------------------------------------------------------- */
|
---------------------------------------------------------------------------- */
|
||||||
|
/*
|
||||||
#ifndef GL_ARB_shader_objects
|
#ifndef GL_ARB_shader_objects
|
||||||
#define GL_ARB_shader_objects 1
|
#define GL_ARB_shader_objects 1
|
||||||
#endif
|
#endif
|
||||||
|
*/
|
||||||
#ifdef GL_ARB_shader_objects
|
#ifdef GL_ARB_shader_objects
|
||||||
#define GL_PROGRAM_OBJECT_ARB 0x8B40
|
#define GL_PROGRAM_OBJECT_ARB 0x8B40
|
||||||
#define GL_SHADER_OBJECT_ARB 0x8B48
|
#define GL_SHADER_OBJECT_ARB 0x8B48
|
||||||
@ -133,9 +155,11 @@
|
|||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
GL_ARB_vertex_shader
|
GL_ARB_vertex_shader
|
||||||
---------------------------------------------------------------------------- */
|
---------------------------------------------------------------------------- */
|
||||||
|
/*
|
||||||
#ifndef GL_ARB_vertex_shader
|
#ifndef GL_ARB_vertex_shader
|
||||||
#define GL_ARB_vertex_shader 1
|
#define GL_ARB_vertex_shader 1
|
||||||
#endif
|
#endif
|
||||||
|
*/
|
||||||
|
|
||||||
#ifdef GL_ARB_vertex_shader
|
#ifdef GL_ARB_vertex_shader
|
||||||
#define GL_VERTEX_SHADER_ARB 0x8B31
|
#define GL_VERTEX_SHADER_ARB 0x8B31
|
||||||
@ -151,9 +175,11 @@
|
|||||||
/* ----------------------------------------------------------------------------
|
/* ----------------------------------------------------------------------------
|
||||||
GL_ARB_fragment_shader
|
GL_ARB_fragment_shader
|
||||||
---------------------------------------------------------------------------- */
|
---------------------------------------------------------------------------- */
|
||||||
|
/*
|
||||||
#ifndef GL_ARB_fragment_shader
|
#ifndef GL_ARB_fragment_shader
|
||||||
#define GL_ARB_fragment_shader 1
|
#define GL_ARB_fragment_shader 1
|
||||||
#endif
|
#endif
|
||||||
|
*/
|
||||||
|
|
||||||
#ifdef GL_ARB_fragment_shader
|
#ifdef GL_ARB_fragment_shader
|
||||||
#define GL_FRAGMENT_SHADER_ARB 0x8B30
|
#define GL_FRAGMENT_SHADER_ARB 0x8B30
|
||||||
@ -161,4 +187,5 @@
|
|||||||
#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
|
#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif//__ARB_MULTITEXTURE_H__
|
#endif//__ARB_MULTITEXTURE_H__
|
||||||
|
@ -320,7 +320,7 @@ PFNGLPNTRIANGLESFATIPROC glPNTrianglesfATI;
|
|||||||
BL_EXTInfo RAS_EXT_support;
|
BL_EXTInfo RAS_EXT_support;
|
||||||
|
|
||||||
|
|
||||||
#if defined(GL_ARB_multitexture)
|
#ifdef GL_ARB_multitexture
|
||||||
int max_texture_units = 2;
|
int max_texture_units = 2;
|
||||||
PFNGLACTIVETEXTUREARBPROC glActiveTextureARB;
|
PFNGLACTIVETEXTUREARBPROC glActiveTextureARB;
|
||||||
PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
|
PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
|
||||||
@ -358,7 +358,7 @@ PFNGLMULTITEXCOORD4SARBPROC glMultiTexCoord4sARB;
|
|||||||
PFNGLMULTITEXCOORD4SVARBPROC glMultiTexCoord4svARB;
|
PFNGLMULTITEXCOORD4SVARBPROC glMultiTexCoord4svARB;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(GL_ARB_shader_objects)
|
#ifdef GL_ARB_shader_objects
|
||||||
PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
|
PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
|
||||||
PFNGLGETHANDLEARBPROC glGetHandleARB;
|
PFNGLGETHANDLEARBPROC glGetHandleARB;
|
||||||
PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
|
PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
|
||||||
@ -400,16 +400,12 @@ PFNGLGETUNIFORMIVARBPROC glGetUniformivARB;
|
|||||||
PFNGLGETSHADERSOURCEARBPROC glGetShaderSourceARB;
|
PFNGLGETSHADERSOURCEARBPROC glGetShaderSourceARB;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(GL_ARB_vertex_shader)
|
#ifdef GL_ARB_vertex_shader
|
||||||
PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
|
PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
|
||||||
PFNGLGETACTIVEATTRIBARBPROC glGetActiveAttribARB;
|
PFNGLGETACTIVEATTRIBARBPROC glGetActiveAttribARB;
|
||||||
PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
|
PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(GL_EXT_blend_color)
|
|
||||||
PFNGLBLENDCOLOREXTPROC glBlendColorEXT;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
} // namespace bgl
|
} // namespace bgl
|
||||||
|
|
||||||
using namespace bgl;
|
using namespace bgl;
|
||||||
@ -465,45 +461,44 @@ static void LinkExtensions()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
#ifdef GL_ARB_multitexture
|
#ifdef GL_ARB_multitexture
|
||||||
if (QueryExtension("GL_ARB_multitexture"))
|
if (QueryExtension("GL_ARB_multitexture"))
|
||||||
{
|
{
|
||||||
glActiveTextureARB = reinterpret_cast<PFNGLACTIVETEXTUREARBPROC>(bglGetProcAddress((const GLubyte *) "glActiveTextureARB"));
|
bgl::glActiveTextureARB = reinterpret_cast<PFNGLACTIVETEXTUREARBPROC>(bglGetProcAddress((const GLubyte *) "glActiveTextureARB"));
|
||||||
glClientActiveTextureARB = reinterpret_cast<PFNGLCLIENTACTIVETEXTUREARBPROC>(bglGetProcAddress((const GLubyte *) "glClientActiveTextureARB"));
|
bgl::glClientActiveTextureARB = reinterpret_cast<PFNGLCLIENTACTIVETEXTUREARBPROC>(bglGetProcAddress((const GLubyte *) "glClientActiveTextureARB"));
|
||||||
glMultiTexCoord1dARB = reinterpret_cast<PFNGLMULTITEXCOORD1DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1dARB"));
|
bgl::glMultiTexCoord1dARB = reinterpret_cast<PFNGLMULTITEXCOORD1DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1dARB"));
|
||||||
glMultiTexCoord1dvARB = reinterpret_cast<PFNGLMULTITEXCOORD1DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1dvARB"));
|
bgl::glMultiTexCoord1dvARB = reinterpret_cast<PFNGLMULTITEXCOORD1DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1dvARB"));
|
||||||
glMultiTexCoord1fARB = reinterpret_cast<PFNGLMULTITEXCOORD1FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1fARB"));
|
bgl::glMultiTexCoord1fARB = reinterpret_cast<PFNGLMULTITEXCOORD1FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1fARB"));
|
||||||
glMultiTexCoord1fvARB = reinterpret_cast<PFNGLMULTITEXCOORD1FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1fvARB"));
|
bgl::glMultiTexCoord1fvARB = reinterpret_cast<PFNGLMULTITEXCOORD1FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1fvARB"));
|
||||||
glMultiTexCoord1iARB = reinterpret_cast<PFNGLMULTITEXCOORD1IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1iARB"));
|
bgl::glMultiTexCoord1iARB = reinterpret_cast<PFNGLMULTITEXCOORD1IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1iARB"));
|
||||||
glMultiTexCoord1ivARB = reinterpret_cast<PFNGLMULTITEXCOORD1IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1ivARB"));
|
bgl::glMultiTexCoord1ivARB = reinterpret_cast<PFNGLMULTITEXCOORD1IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1ivARB"));
|
||||||
glMultiTexCoord1sARB = reinterpret_cast<PFNGLMULTITEXCOORD1SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1sARB"));
|
bgl::glMultiTexCoord1sARB = reinterpret_cast<PFNGLMULTITEXCOORD1SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1sARB"));
|
||||||
glMultiTexCoord1svARB = reinterpret_cast<PFNGLMULTITEXCOORD1SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1svARB"));
|
bgl::glMultiTexCoord1svARB = reinterpret_cast<PFNGLMULTITEXCOORD1SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1svARB"));
|
||||||
glMultiTexCoord2dARB = reinterpret_cast<PFNGLMULTITEXCOORD2DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2dARB"));
|
bgl::glMultiTexCoord2dARB = reinterpret_cast<PFNGLMULTITEXCOORD2DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2dARB"));
|
||||||
glMultiTexCoord2dvARB = reinterpret_cast<PFNGLMULTITEXCOORD2DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2dvARB"));
|
bgl::glMultiTexCoord2dvARB = reinterpret_cast<PFNGLMULTITEXCOORD2DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2dvARB"));
|
||||||
glMultiTexCoord2fARB = reinterpret_cast<PFNGLMULTITEXCOORD2FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2fARB"));
|
bgl::glMultiTexCoord2fARB = reinterpret_cast<PFNGLMULTITEXCOORD2FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2fARB"));
|
||||||
glMultiTexCoord2fvARB = reinterpret_cast<PFNGLMULTITEXCOORD2FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2fvARB"));
|
bgl::glMultiTexCoord2fvARB = reinterpret_cast<PFNGLMULTITEXCOORD2FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2fvARB"));
|
||||||
glMultiTexCoord2iARB = reinterpret_cast<PFNGLMULTITEXCOORD2IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2iARB"));
|
bgl::glMultiTexCoord2iARB = reinterpret_cast<PFNGLMULTITEXCOORD2IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2iARB"));
|
||||||
glMultiTexCoord2ivARB = reinterpret_cast<PFNGLMULTITEXCOORD2IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2ivARB"));
|
bgl::glMultiTexCoord2ivARB = reinterpret_cast<PFNGLMULTITEXCOORD2IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2ivARB"));
|
||||||
glMultiTexCoord2sARB = reinterpret_cast<PFNGLMULTITEXCOORD2SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2sARB"));
|
bgl::glMultiTexCoord2sARB = reinterpret_cast<PFNGLMULTITEXCOORD2SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2sARB"));
|
||||||
glMultiTexCoord2svARB = reinterpret_cast<PFNGLMULTITEXCOORD2SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2svARB"));
|
bgl::glMultiTexCoord2svARB = reinterpret_cast<PFNGLMULTITEXCOORD2SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2svARB"));
|
||||||
glMultiTexCoord3dARB = reinterpret_cast<PFNGLMULTITEXCOORD3DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3dARB"));
|
bgl::glMultiTexCoord3dARB = reinterpret_cast<PFNGLMULTITEXCOORD3DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3dARB"));
|
||||||
glMultiTexCoord3dvARB = reinterpret_cast<PFNGLMULTITEXCOORD3DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3dvARB"));
|
bgl::glMultiTexCoord3dvARB = reinterpret_cast<PFNGLMULTITEXCOORD3DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3dvARB"));
|
||||||
glMultiTexCoord3fARB = reinterpret_cast<PFNGLMULTITEXCOORD3FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3fARB"));
|
bgl::glMultiTexCoord3fARB = reinterpret_cast<PFNGLMULTITEXCOORD3FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3fARB"));
|
||||||
glMultiTexCoord3fvARB = reinterpret_cast<PFNGLMULTITEXCOORD3FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3fvARB"));
|
bgl::glMultiTexCoord3fvARB = reinterpret_cast<PFNGLMULTITEXCOORD3FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3fvARB"));
|
||||||
glMultiTexCoord3iARB = reinterpret_cast<PFNGLMULTITEXCOORD3IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3iARB"));
|
bgl::glMultiTexCoord3iARB = reinterpret_cast<PFNGLMULTITEXCOORD3IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3iARB"));
|
||||||
glMultiTexCoord3ivARB = reinterpret_cast<PFNGLMULTITEXCOORD3IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3ivARB"));
|
bgl::glMultiTexCoord3ivARB = reinterpret_cast<PFNGLMULTITEXCOORD3IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3ivARB"));
|
||||||
glMultiTexCoord3sARB = reinterpret_cast<PFNGLMULTITEXCOORD3SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3sARB"));
|
bgl::glMultiTexCoord3sARB = reinterpret_cast<PFNGLMULTITEXCOORD3SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3sARB"));
|
||||||
glMultiTexCoord3svARB = reinterpret_cast<PFNGLMULTITEXCOORD3SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3svARB"));
|
bgl::glMultiTexCoord3svARB = reinterpret_cast<PFNGLMULTITEXCOORD3SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3svARB"));
|
||||||
glMultiTexCoord4dARB = reinterpret_cast<PFNGLMULTITEXCOORD4DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4dARB"));
|
bgl::glMultiTexCoord4dARB = reinterpret_cast<PFNGLMULTITEXCOORD4DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4dARB"));
|
||||||
glMultiTexCoord4dvARB = reinterpret_cast<PFNGLMULTITEXCOORD4DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4dvARB"));
|
bgl::glMultiTexCoord4dvARB = reinterpret_cast<PFNGLMULTITEXCOORD4DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4dvARB"));
|
||||||
glMultiTexCoord4fARB = reinterpret_cast<PFNGLMULTITEXCOORD4FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4fARB"));
|
bgl::glMultiTexCoord4fARB = reinterpret_cast<PFNGLMULTITEXCOORD4FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4fARB"));
|
||||||
glMultiTexCoord4fvARB = reinterpret_cast<PFNGLMULTITEXCOORD4FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4fvARB"));
|
bgl::glMultiTexCoord4fvARB = reinterpret_cast<PFNGLMULTITEXCOORD4FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4fvARB"));
|
||||||
glMultiTexCoord4iARB = reinterpret_cast<PFNGLMULTITEXCOORD4IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4iARB"));
|
bgl::glMultiTexCoord4iARB = reinterpret_cast<PFNGLMULTITEXCOORD4IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4iARB"));
|
||||||
glMultiTexCoord4ivARB = reinterpret_cast<PFNGLMULTITEXCOORD4IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4ivARB"));
|
bgl::glMultiTexCoord4ivARB = reinterpret_cast<PFNGLMULTITEXCOORD4IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4ivARB"));
|
||||||
glMultiTexCoord4sARB = reinterpret_cast<PFNGLMULTITEXCOORD4SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4sARB"));
|
bgl::glMultiTexCoord4sARB = reinterpret_cast<PFNGLMULTITEXCOORD4SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4sARB"));
|
||||||
glMultiTexCoord4svARB = reinterpret_cast<PFNGLMULTITEXCOORD4SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4svARB"));
|
bgl::glMultiTexCoord4svARB = reinterpret_cast<PFNGLMULTITEXCOORD4SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4svARB"));
|
||||||
if (glActiveTextureARB && glClientActiveTextureARB && glMultiTexCoord1dARB && glMultiTexCoord1dvARB && glMultiTexCoord1fARB && glMultiTexCoord1fvARB && glMultiTexCoord1iARB && glMultiTexCoord1ivARB && glMultiTexCoord1sARB && glMultiTexCoord1svARB && glMultiTexCoord2dARB && glMultiTexCoord2dvARB && glMultiTexCoord2fARB && glMultiTexCoord2fvARB && glMultiTexCoord2iARB && glMultiTexCoord2ivARB && glMultiTexCoord2sARB && glMultiTexCoord2svARB && glMultiTexCoord3dARB && glMultiTexCoord3dvARB && glMultiTexCoord3fARB && glMultiTexCoord3fvARB && glMultiTexCoord3iARB && glMultiTexCoord3ivARB && glMultiTexCoord3sARB && glMultiTexCoord3svARB && glMultiTexCoord4dARB && glMultiTexCoord4dvARB && glMultiTexCoord4fARB && glMultiTexCoord4fvARB && glMultiTexCoord4iARB && glMultiTexCoord4ivARB && glMultiTexCoord4sARB && glMultiTexCoord4svARB) {
|
if (bgl::glActiveTextureARB && bgl::glClientActiveTextureARB && bgl::glMultiTexCoord1dARB && bgl::glMultiTexCoord1dvARB && bgl::glMultiTexCoord1fARB && bgl::glMultiTexCoord1fvARB && bgl::glMultiTexCoord1iARB && bgl::glMultiTexCoord1ivARB && bgl::glMultiTexCoord1sARB && bgl::glMultiTexCoord1svARB && bgl::glMultiTexCoord2dARB && bgl::glMultiTexCoord2dvARB && bgl::glMultiTexCoord2fARB && bgl::glMultiTexCoord2fvARB && bgl::glMultiTexCoord2iARB && bgl::glMultiTexCoord2ivARB && bgl::glMultiTexCoord2sARB && bgl::glMultiTexCoord2svARB && bgl::glMultiTexCoord3dARB && bgl::glMultiTexCoord3dvARB && bgl::glMultiTexCoord3fARB && bgl::glMultiTexCoord3fvARB && bgl::glMultiTexCoord3iARB && bgl::glMultiTexCoord3ivARB && bgl::glMultiTexCoord3sARB && bgl::glMultiTexCoord3svARB && bgl::glMultiTexCoord4dARB && bgl::glMultiTexCoord4dvARB && bgl::glMultiTexCoord4fARB && bgl::glMultiTexCoord4fvARB && bgl::glMultiTexCoord4iARB && bgl::glMultiTexCoord4ivARB && bgl::glMultiTexCoord4sARB && bgl::glMultiTexCoord4svARB) {
|
||||||
EnableExtension(_GL_ARB_multitexture);
|
EnableExtension(_GL_ARB_multitexture);
|
||||||
RAS_EXT_support._ARB_multitexture = 1;
|
RAS_EXT_support._ARB_multitexture = 1;
|
||||||
if (doDebugMessages)
|
if (doDebugMessages)
|
||||||
@ -513,24 +508,7 @@ static void LinkExtensions()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif// WIN32
|
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
#ifdef GL_EXT_blend_color
|
|
||||||
if (QueryExtension("GL_EXT_blend_color"))
|
|
||||||
{
|
|
||||||
glBlendColorEXT = reinterpret_cast<PFNGLBLENDCOLOREXTPROC>(bglGetProcAddress((const GLubyte *) "glBlendColorEXT"));
|
|
||||||
if (glBlendColorEXT) {
|
|
||||||
EnableExtension(_GL_EXT_blend_color);
|
|
||||||
RAS_EXT_support._EXT_blend_color = 1;
|
|
||||||
if (doDebugMessages)
|
|
||||||
std::cout << "Enabled GL_EXT_blend_color" << std::endl;
|
|
||||||
} else {
|
|
||||||
std::cout << "ERROR: GL_EXT_blend_color implementation is broken!" << std::endl;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#ifdef GL_ARB_shader_objects
|
#ifdef GL_ARB_shader_objects
|
||||||
if (QueryExtension("GL_ARB_shader_objects"))
|
if (QueryExtension("GL_ARB_shader_objects"))
|
||||||
{
|
{
|
||||||
@ -611,18 +589,6 @@ static void LinkExtensions()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef GL_EXT_texture3D
|
|
||||||
if (QueryExtension("GL_EXT_texture3D"))
|
|
||||||
{
|
|
||||||
/* not using 3d textures... but, using GL_TEXTURE_WRAP_R_EXT*/
|
|
||||||
EnableExtension(_GL_EXT_texture3D);
|
|
||||||
RAS_EXT_support._EXT_texture3D = 1;
|
|
||||||
if (doDebugMessages)
|
|
||||||
std::cout << "Enabled GL_EXT_texture3D" << std::endl;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (QueryExtension("GL_EXT_separate_specular_color"))
|
if (QueryExtension("GL_EXT_separate_specular_color"))
|
||||||
{
|
{
|
||||||
EnableExtension(_GL_EXT_separate_specular_color);
|
EnableExtension(_GL_EXT_separate_specular_color);
|
||||||
|
@ -32,9 +32,7 @@
|
|||||||
#ifndef __RAS_GLEXTENSIONMANAGER_H__
|
#ifndef __RAS_GLEXTENSIONMANAGER_H__
|
||||||
#define __RAS_GLEXTENSIONMANAGER_H__
|
#define __RAS_GLEXTENSIONMANAGER_H__
|
||||||
|
|
||||||
#ifndef APIENTRY
|
|
||||||
#define APIENTRY
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
#include <OpenGL/gl.h>
|
#include <OpenGL/gl.h>
|
||||||
@ -42,6 +40,7 @@
|
|||||||
#include <GL/gl.h>
|
#include <GL/gl.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "glext.h"
|
||||||
#include "EXT_separate_specular_color.h"
|
#include "EXT_separate_specular_color.h"
|
||||||
#include "ARB_multitexture.h"
|
#include "ARB_multitexture.h"
|
||||||
namespace bgl
|
namespace bgl
|
||||||
@ -401,51 +400,8 @@ typedef struct BL_EXTInfo
|
|||||||
|
|
||||||
extern BL_EXTInfo RAS_EXT_support;
|
extern BL_EXTInfo RAS_EXT_support;
|
||||||
|
|
||||||
|
#ifdef GL_ARB_multitexture // defined in glext.h now...
|
||||||
#ifdef GL_EXT_blend_color
|
|
||||||
typedef void (APIENTRY* PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
|
|
||||||
extern PFNGLBLENDCOLOREXTPROC glBlendColorEXT;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef GL_ARB_multitexture
|
|
||||||
|
|
||||||
extern int max_texture_units;
|
extern int max_texture_units;
|
||||||
typedef void (APIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
|
|
||||||
typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
|
|
||||||
typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
|
|
||||||
|
|
||||||
|
|
||||||
extern PFNGLACTIVETEXTUREARBPROC glActiveTextureARB;
|
extern PFNGLACTIVETEXTUREARBPROC glActiveTextureARB;
|
||||||
extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
|
extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
|
||||||
extern PFNGLMULTITEXCOORD1DARBPROC glMultiTexCoord1dARB;
|
extern PFNGLMULTITEXCOORD1DARBPROC glMultiTexCoord1dARB;
|
||||||
@ -484,48 +440,6 @@ extern PFNGLMULTITEXCOORD4SVARBPROC glMultiTexCoord4svARB;
|
|||||||
|
|
||||||
|
|
||||||
#ifdef GL_ARB_shader_objects
|
#ifdef GL_ARB_shader_objects
|
||||||
typedef char GLcharARB;
|
|
||||||
typedef unsigned int GLhandleARB;
|
|
||||||
typedef void (APIENTRY* PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);
|
|
||||||
typedef GLhandleARB (APIENTRY* PFNGLGETHANDLEARBPROC) (GLenum pname);
|
|
||||||
typedef void (APIENTRY* PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);
|
|
||||||
typedef GLhandleARB (APIENTRY* PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
|
|
||||||
typedef void (APIENTRY* PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);
|
|
||||||
typedef void (APIENTRY* PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);
|
|
||||||
typedef GLhandleARB (APIENTRY* PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
|
|
||||||
typedef void (APIENTRY* PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);
|
|
||||||
typedef void (APIENTRY* PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);
|
|
||||||
typedef void (APIENTRY* PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);
|
|
||||||
typedef void (APIENTRY* PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint *value);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint *value);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint *value);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint *value);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
|
||||||
typedef void (APIENTRY* PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
|
||||||
typedef void (APIENTRY* PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat *params);
|
|
||||||
typedef void (APIENTRY* PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint *params);
|
|
||||||
typedef void (APIENTRY* PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
|
|
||||||
typedef void (APIENTRY* PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
|
|
||||||
typedef GLint (APIENTRY* PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
|
|
||||||
typedef void (APIENTRY* PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
|
|
||||||
typedef void (APIENTRY* PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat *params);
|
|
||||||
typedef void (APIENTRY* PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint *params);
|
|
||||||
typedef void (APIENTRY* PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
|
|
||||||
|
|
||||||
extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
|
extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
|
||||||
extern PFNGLGETHANDLEARBPROC glGetHandleARB;
|
extern PFNGLGETHANDLEARBPROC glGetHandleARB;
|
||||||
extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
|
extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
|
||||||
@ -568,10 +482,6 @@ extern PFNGLGETSHADERSOURCEARBPROC glGetShaderSourceARB;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef GL_ARB_vertex_shader
|
#ifdef GL_ARB_vertex_shader
|
||||||
typedef void (APIENTRY* PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB *name);
|
|
||||||
typedef void (APIENTRY* PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
|
|
||||||
typedef GLint (APIENTRY* PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
|
|
||||||
|
|
||||||
extern PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
|
extern PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
|
||||||
extern PFNGLGETACTIVEATTRIBARBPROC glGetActiveAttribARB;
|
extern PFNGLGETACTIVEATTRIBARBPROC glGetActiveAttribARB;
|
||||||
extern PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
|
extern PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
|
||||||
|
6495
source/gameengine/Rasterizer/RAS_OpenGLRasterizer/glext.h
Normal file
6495
source/gameengine/Rasterizer/RAS_OpenGLRasterizer/glext.h
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user