model rendering optimizations

git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@2532 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
Lee Salzman
2008-09-12 00:41:44 +00:00
parent 385b4b1890
commit b8686120bd
8 changed files with 116 additions and 65 deletions
+10 -1
View File
@@ -4,7 +4,7 @@
#include "cube.h"
#include "bot/bot.h"
bool hasTE = false, hasMT = false, hasMDA = false;
bool hasTE = false, hasMT = false, hasMDA = false, hasDRE = false;
// GL_ARB_multitexture
PFNGLACTIVETEXTUREARBPROC glActiveTexture_ = NULL;
@@ -16,6 +16,9 @@ PFNGLMULTITEXCOORD3FARBPROC glMultiTexCoord3f_ = NULL;
PFNGLMULTIDRAWARRAYSEXTPROC glMultiDrawArrays_ = NULL;
PFNGLMULTIDRAWELEMENTSEXTPROC glMultiDrawElements_ = NULL;
// GL_EXT_draw_range_elements
PFNGLDRAWRANGEELEMENTSEXTPROC glDrawRangeElements_ = NULL;
void *getprocaddress(const char *name)
{
return SDL_GL_GetProcAddress(name);
@@ -56,6 +59,12 @@ void gl_checkextensions()
hasMDA = true;
}
if(strstr(exts, "GL_EXT_draw_range_elements"))
{
glDrawRangeElements_ = (PFNGLDRAWRANGEELEMENTSEXTPROC)getprocaddress("glDrawRangeElementsEXT");
hasDRE = true;
}
if(!strstr(exts, "GL_ARB_fragment_program"))
{
// not a required extension, but ensures the card has enough power to do reflections