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) void CheckAnisotropicExtension(void)
{ {
if (strstr(gl_extensions, "GL_EXT_texture_filter_anisotropic") && if (strstr(gl_extensions, "GL_EXT_texture_filter_anisotropic") &&
@ -450,26 +474,34 @@ void GL_Init (void)
Con_Printf ("Checking diffuse bumpmap extensions\n"); Con_Printf ("Checking diffuse bumpmap extensions\n");
CheckDiffuseBumpMappingExtensions (); CheckDiffuseBumpMappingExtensions ();
Con_Printf ("Checking NV3x extensions\n"); gl_cardtype = GENERIC;
CheckNV3xFragmentExtensions ();
Con_Printf ("Checking GL2 extensions\n");
if ( gl_cardtype != NV3x ) CheckGL2FragmentExtensions ();
{
Con_Printf ("Checking ARB extensions\n"); if ( gl_cardtype == GENERIC )
CheckARBFragmentExtensions (); {
} Con_Printf ("Checking NV3x extensions\n");
CheckNV3xFragmentExtensions ();
if ( gl_cardtype != ARB && gl_cardtype != NV3x ) }
{
Con_Printf ("Checking GeForce 1/2/4-MX extensions\n"); if ( gl_cardtype == GENERIC )
CheckSpecularBumpMappingExtensions (); {
Con_Printf ("Checking GeForce 3/4 extensions\n"); Con_Printf ("Checking ARB extensions\n");
CheckGeforce3Extensions (); CheckARBFragmentExtensions ();
Con_Printf ("Checking Radeon 8500+ extensions\n"); }
CheckRadeonExtensions ();
Con_Printf ("Checking Parhelia extensions\n"); if ( gl_cardtype == GENERIC )
CheckParheliaExtensions (); {
} 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"); Con_Printf ("Checking VAR\n");
CheckVertexArrayRange (); CheckVertexArrayRange ();
@ -514,6 +546,10 @@ void GL_Init (void)
Con_Printf ("Using NV_fragment_program path.\n"); Con_Printf ("Using NV_fragment_program path.\n");
BUMP_InitNV3x(); BUMP_InitNV3x();
break; break;
case GL2:
Con_Printf ("Using GL2 path.\n");
BUMP_InitGL2();
break;
} }
glGetIntegerv (GL_MAX_ACTIVE_TEXTURES_ARB,&supportedTmu); glGetIntegerv (GL_MAX_ACTIVE_TEXTURES_ARB,&supportedTmu);

View file

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

View file

@ -116,7 +116,7 @@
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalOptions="/MACHINE:I386" 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" OutputFile="C:\Games\tenebrae\tenebrae2.exe"
LinkIncremental="1" LinkIncremental="1"
SuppressStartupBanner="TRUE" SuppressStartupBanner="TRUE"
@ -216,6 +216,9 @@
<File <File
RelativePath="..\gl_bumpgf.c"> RelativePath="..\gl_bumpgf.c">
</File> </File>
<File
RelativePath="..\gl_bumpgl2.c">
</File>
<File <File
RelativePath="..\gl_bumpmap.c"> RelativePath="..\gl_bumpmap.c">
</File> </File>