Added GLSL path

This commit is contained in:
jpaana 2003-12-21 10:21:03 +00:00
parent 198ac7417a
commit 449b0b7612
4 changed files with 1624 additions and 22 deletions

1562
gl_bumpgl2.c Normal file

File diff suppressed because it is too large Load diff

View file

@ -383,6 +383,30 @@ void CheckNV3xFragmentExtensions(void) {
}
}
void CheckGL2FragmentExtensions(void)
{
int supportedTmu;
glGetIntegerv(GL_MAX_ACTIVE_TEXTURES_ARB,&supportedTmu);
if (strstr(gl_extensions, "GL_EXT_texture3D")
&& (!COM_CheckParm ("-forcegeneric"))
&& (COM_CheckParm ("-gl2"))
&& strstr(gl_extensions, "GL_ARB_shader_objects")
&& strstr(gl_extensions, "GL_ARB_vertex_shader")
&& strstr(gl_extensions, "GL_ARB_fragment_shader")
&& strstr(gl_extensions, "GL_ARB_shading_language_100"))
{
gl_cardtype = GL2;
//get TEX3d poiters wlgGetProcAddress
SAFE_GET_PROC (qglTexImage3DEXT,PFNGLTEXIMAGE3DEXT,"glTexImage3DEXT");
//default to trilinear filtering
gl_filter_min = GL_LINEAR_MIPMAP_LINEAR;
gl_filter_max = GL_LINEAR;
}
}
void CheckAnisotropicExtension(void)
{
if (strstr(gl_extensions, "GL_EXT_texture_filter_anisotropic") &&
@ -450,26 +474,34 @@ void GL_Init (void)
Con_Printf ("Checking diffuse bumpmap extensions\n");
CheckDiffuseBumpMappingExtensions ();
Con_Printf ("Checking NV3x extensions\n");
CheckNV3xFragmentExtensions ();
if ( gl_cardtype != NV3x )
{
Con_Printf ("Checking ARB extensions\n");
CheckARBFragmentExtensions ();
}
if ( gl_cardtype != ARB && gl_cardtype != NV3x )
{
Con_Printf ("Checking GeForce 1/2/4-MX extensions\n");
CheckSpecularBumpMappingExtensions ();
Con_Printf ("Checking GeForce 3/4 extensions\n");
CheckGeforce3Extensions ();
Con_Printf ("Checking Radeon 8500+ extensions\n");
CheckRadeonExtensions ();
Con_Printf ("Checking Parhelia extensions\n");
CheckParheliaExtensions ();
}
gl_cardtype = GENERIC;
Con_Printf ("Checking GL2 extensions\n");
CheckGL2FragmentExtensions ();
if ( gl_cardtype == GENERIC )
{
Con_Printf ("Checking NV3x extensions\n");
CheckNV3xFragmentExtensions ();
}
if ( gl_cardtype == GENERIC )
{
Con_Printf ("Checking ARB extensions\n");
CheckARBFragmentExtensions ();
}
if ( gl_cardtype == GENERIC )
{
Con_Printf ("Checking GeForce 1/2/4-MX\n");
CheckSpecularBumpMappingExtensions ();
Con_Printf ("Checking GeForce 3/4\n");
CheckGeforce3Extensions ();
Con_Printf ("Checking Radeon 8500+\n");
CheckRadeonExtensions ();
Con_Printf ("Checking Parhelia\n");
CheckParheliaExtensions ();
}
Con_Printf ("Checking VAR\n");
CheckVertexArrayRange ();
@ -514,6 +546,10 @@ void GL_Init (void)
Con_Printf ("Using NV_fragment_program path.\n");
BUMP_InitNV3x();
break;
case GL2:
Con_Printf ("Using GL2 path.\n");
BUMP_InitGL2();
break;
}
glGetIntegerv (GL_MAX_ACTIVE_TEXTURES_ARB,&supportedTmu);

View file

@ -1050,7 +1050,8 @@ typedef enum
RADEON,
PARHELIA,
ARB,
NV3x
NV3x,
GL2
} qcardtype;
extern qcardtype gl_cardtype;

View file

@ -116,7 +116,7 @@
<Tool
Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386"
AdditionalDependencies="comctl32.lib ..\dxsdk\sdk\lib\dxguid.lib winmm.lib wsock32.lib opengl32.lib glu32.lib odbc32.lib odbccp32.lib libpng.lib zlib.lib ..\nvparse\nvparse.lib"
AdditionalDependencies="comctl32.lib ..\dxsdk\sdk\lib\dxguid.lib winmm.lib wsock32.lib opengl32.lib glu32.lib odbc32.lib odbccp32.lib libpng.lib zlib.lib ..\nvparse\nvparse.lib libxml2.lib"
OutputFile="C:\Games\tenebrae\tenebrae2.exe"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
@ -216,6 +216,9 @@
<File
RelativePath="..\gl_bumpgf.c">
</File>
<File
RelativePath="..\gl_bumpgl2.c">
</File>
<File
RelativePath="..\gl_bumpmap.c">
</File>