mirror of
https://github.com/blawar/GLideN64.git
synced 2024-07-07 03:13:49 +00:00
Switch from glActiveTextureARB to glActiveTexture
This commit is contained in:
parent
2c5266eef3
commit
14f5a92da3
|
@ -432,7 +432,7 @@ void Combiner_Destroy()
|
||||||
|
|
||||||
for (int i = 0; i < OGL.maxTextureUnits; i++)
|
for (int i = 0; i < OGL.maxTextureUnits; i++)
|
||||||
{
|
{
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB + i );
|
glActiveTexture( GL_TEXTURE0 + i );
|
||||||
glDisable( GL_TEXTURE_2D );
|
glDisable( GL_TEXTURE_2D );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -460,11 +460,11 @@ void FrameBuffer_RenderBuffer( u32 address )
|
||||||
{
|
{
|
||||||
for (int i = 0; i < OGL.maxTextureUnits; i++)
|
for (int i = 0; i < OGL.maxTextureUnits; i++)
|
||||||
{
|
{
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB + i );
|
glActiveTexture( GL_TEXTURE0 + i );
|
||||||
glDisable( GL_TEXTURE_2D );
|
glDisable( GL_TEXTURE_2D );
|
||||||
}
|
}
|
||||||
|
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB );
|
glActiveTexture( GL_TEXTURE0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
TextureCache_ActivateTexture( 0, current->texture );
|
TextureCache_ActivateTexture( 0, current->texture );
|
||||||
|
@ -512,7 +512,7 @@ void FrameBuffer_RenderBuffer( u32 address )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* glEnable( GL_TEXTURE_2D );
|
/* glEnable( GL_TEXTURE_2D );
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB );
|
glActiveTexture( GL_TEXTURE0 );
|
||||||
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB );*/
|
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB );*/
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
glPopAttrib();
|
glPopAttrib();
|
||||||
|
|
|
@ -170,9 +170,9 @@ void DestroyShadowMapShader()
|
||||||
|
|
||||||
void InitGLSLCombiner()
|
void InitGLSLCombiner()
|
||||||
{
|
{
|
||||||
glActiveTextureARB(GL_TEXTURE0_ARB);
|
glActiveTexture(GL_TEXTURE0);
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
glActiveTextureARB(GL_TEXTURE1_ARB);
|
glActiveTexture(GL_TEXTURE1);
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
|
|
||||||
g_vertex_shader_object = glCreateShader(GL_VERTEX_SHADER);
|
g_vertex_shader_object = glCreateShader(GL_VERTEX_SHADER);
|
||||||
|
@ -674,7 +674,7 @@ void GLSL_RenderDepth() {
|
||||||
return;
|
return;
|
||||||
glPushAttrib( GL_ENABLE_BIT | GL_VIEWPORT_BIT );
|
glPushAttrib( GL_ENABLE_BIT | GL_VIEWPORT_BIT );
|
||||||
|
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB );
|
glActiveTexture( GL_TEXTURE0 );
|
||||||
glBindTexture(GL_TEXTURE_2D, frameBuffer.top->depth_texture->glName);
|
glBindTexture(GL_TEXTURE_2D, frameBuffer.top->depth_texture->glName);
|
||||||
// glBindTexture(GL_TEXTURE_2D, g_zlut_tex);
|
// glBindTexture(GL_TEXTURE_2D, g_zlut_tex);
|
||||||
|
|
||||||
|
|
|
@ -15,9 +15,9 @@ static CombinerInput CombinerInputs[] =
|
||||||
// CMB
|
// CMB
|
||||||
{ GL_SPARE0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
|
{ GL_SPARE0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
|
||||||
// T0
|
// T0
|
||||||
{ GL_TEXTURE0_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
|
{ GL_TEXTURE0, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
|
||||||
// T1
|
// T1
|
||||||
{ GL_TEXTURE1_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
|
{ GL_TEXTURE1, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
|
||||||
// PRIM
|
// PRIM
|
||||||
{ GL_CONSTANT_COLOR0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
|
{ GL_CONSTANT_COLOR0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
|
||||||
// SHADE
|
// SHADE
|
||||||
|
@ -31,9 +31,9 @@ static CombinerInput CombinerInputs[] =
|
||||||
// CMBALPHA
|
// CMBALPHA
|
||||||
{ GL_SPARE0_NV, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA },
|
{ GL_SPARE0_NV, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA },
|
||||||
// T0ALPHA
|
// T0ALPHA
|
||||||
{ GL_TEXTURE0_ARB, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA },
|
{ GL_TEXTURE0, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA },
|
||||||
// T1ALPHA
|
// T1ALPHA
|
||||||
{ GL_TEXTURE1_ARB, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA },
|
{ GL_TEXTURE1, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA },
|
||||||
// PRIMALPHA
|
// PRIMALPHA
|
||||||
{ GL_CONSTANT_COLOR0_NV, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA },
|
{ GL_CONSTANT_COLOR0_NV, GL_UNSIGNED_IDENTITY_NV, GL_ALPHA },
|
||||||
// SHADEALPHA
|
// SHADEALPHA
|
||||||
|
@ -45,7 +45,7 @@ static CombinerInput CombinerInputs[] =
|
||||||
// PRIMLODFRAC
|
// PRIMLODFRAC
|
||||||
{ GL_CONSTANT_COLOR0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
|
{ GL_CONSTANT_COLOR0_NV, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
|
||||||
// NOISE
|
// NOISE
|
||||||
{ GL_TEXTURE1_ARB, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
|
{ GL_TEXTURE1, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
|
||||||
// K4
|
// K4
|
||||||
{ GL_ZERO, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
|
{ GL_ZERO, GL_UNSIGNED_IDENTITY_NV, GL_RGB },
|
||||||
// K5
|
// K5
|
||||||
|
@ -219,7 +219,7 @@ void Init_NV_register_combiners()
|
||||||
|
|
||||||
for (int i = 0; i < OGL.maxTextureUnits; i++)
|
for (int i = 0; i < OGL.maxTextureUnits; i++)
|
||||||
{
|
{
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB + i );
|
glActiveTexture( GL_TEXTURE0 + i );
|
||||||
glDisable( GL_TEXTURE_2D );
|
glDisable( GL_TEXTURE_2D );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -552,10 +552,10 @@ void RegisterCombiners::Set()
|
||||||
combiner.vertex.secondaryColor = m_vertex.secondaryColor;
|
combiner.vertex.secondaryColor = m_vertex.secondaryColor;
|
||||||
combiner.vertex.alpha = m_vertex.alpha;
|
combiner.vertex.alpha = m_vertex.alpha;
|
||||||
|
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB );
|
glActiveTexture( GL_TEXTURE0 );
|
||||||
if (combiner.usesT0) glEnable( GL_TEXTURE_2D ); else glDisable( GL_TEXTURE_2D );
|
if (combiner.usesT0) glEnable( GL_TEXTURE_2D ); else glDisable( GL_TEXTURE_2D );
|
||||||
|
|
||||||
glActiveTextureARB( GL_TEXTURE1_ARB );
|
glActiveTexture( GL_TEXTURE1 );
|
||||||
if (combiner.usesT1) glEnable( GL_TEXTURE_2D ); else glDisable( GL_TEXTURE_2D );
|
if (combiner.usesT1) glEnable( GL_TEXTURE_2D ); else glDisable( GL_TEXTURE_2D );
|
||||||
|
|
||||||
glCombinerParameteriNV( GL_NUM_GENERAL_COMBINERS_NV, m_numCombiners );
|
glCombinerParameteriNV( GL_NUM_GENERAL_COMBINERS_NV, m_numCombiners );
|
||||||
|
|
100
OpenGL.cpp
100
OpenGL.cpp
|
@ -51,10 +51,10 @@ PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC glGetCombinerOutputParameterivNV;
|
||||||
PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC glGetFinalCombinerInputParameterfvNV;
|
PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC glGetFinalCombinerInputParameterfvNV;
|
||||||
PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC glGetFinalCombinerInputParameterivNV;
|
PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC glGetFinalCombinerInputParameterivNV;
|
||||||
|
|
||||||
// ARB_multitexture functions
|
// multitexture functions
|
||||||
PFNGLACTIVETEXTUREARBPROC glActiveTextureARB;
|
PFNGLACTIVETEXTUREPROC glActiveTexture;
|
||||||
PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
|
PFNGLCLIENTACTIVETEXTUREPROC glClientActiveTexture;
|
||||||
PFNGLMULTITEXCOORD2FARBPROC glMultiTexCoord2fARB;
|
PFNGLMULTITEXCOORD2FPROC glMultiTexCoord2f;
|
||||||
|
|
||||||
// EXT_fog_coord functions
|
// EXT_fog_coord functions
|
||||||
PFNGLFOGCOORDFEXTPROC glFogCoordfEXT;
|
PFNGLFOGCOORDFEXTPROC glFogCoordfEXT;
|
||||||
|
@ -197,17 +197,14 @@ void OGL_InitExtensions()
|
||||||
glGetIntegerv( GL_MAX_GENERAL_COMBINERS_NV, &OGL.maxGeneralCombiners );
|
glGetIntegerv( GL_MAX_GENERAL_COMBINERS_NV, &OGL.maxGeneralCombiners );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OGL.ARB_multitexture = isExtensionSupported( "GL_ARB_multitexture" ))
|
|
||||||
{
|
|
||||||
#ifndef __LINUX__
|
#ifndef __LINUX__
|
||||||
glActiveTextureARB = (PFNGLACTIVETEXTUREARBPROC)wglGetProcAddress( "glActiveTextureARB" );
|
glActiveTexture = (PFNGLACTIVETEXTUREPROC)wglGetProcAddress( "glActiveTexture" );
|
||||||
glClientActiveTextureARB = (PFNGLCLIENTACTIVETEXTUREARBPROC)wglGetProcAddress( "glClientActiveTextureARB" );
|
glClientActiveTexture = (PFNGLCLIENTACTIVETEXTUREPROC)wglGetProcAddress( "glClientActiveTexture" );
|
||||||
glMultiTexCoord2fARB = (PFNGLMULTITEXCOORD2FARBPROC)wglGetProcAddress( "glMultiTexCoord2fARB" );
|
glMultiTexCoord2f = (PFNGLMULTITEXCOORD2FPROC)wglGetProcAddress( "glMultiTexCoord2f" );
|
||||||
#endif // !__LINUX__
|
#endif // !__LINUX__
|
||||||
|
|
||||||
glGetIntegerv( GL_MAX_TEXTURE_UNITS_ARB, &OGL.maxTextureUnits );
|
glGetIntegerv( GL_MAX_TEXTURE_UNITS, &OGL.maxTextureUnits );
|
||||||
OGL.maxTextureUnits = min( 8, OGL.maxTextureUnits ); // The plugin only supports 8, and 4 is really enough
|
OGL.maxTextureUnits = min( 8, OGL.maxTextureUnits ); // The plugin only supports 8, and 4 is really enough
|
||||||
}
|
|
||||||
|
|
||||||
if (OGL.EXT_fog_coord = isExtensionSupported( "GL_EXT_fog_coord" ))
|
if (OGL.EXT_fog_coord = isExtensionSupported( "GL_EXT_fog_coord" ))
|
||||||
{
|
{
|
||||||
|
@ -315,21 +312,13 @@ void OGL_InitStates()
|
||||||
glEnableClientState( GL_SECONDARY_COLOR_ARRAY_EXT );
|
glEnableClientState( GL_SECONDARY_COLOR_ARRAY_EXT );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OGL.ARB_multitexture)
|
glClientActiveTexture( GL_TEXTURE0 );
|
||||||
{
|
glTexCoordPointer( 2, GL_FLOAT, sizeof( GLVertex ), &OGL.vertices[0].s0 );
|
||||||
glClientActiveTextureARB( GL_TEXTURE0_ARB );
|
glEnableClientState( GL_TEXTURE_COORD_ARRAY );
|
||||||
glTexCoordPointer( 2, GL_FLOAT, sizeof( GLVertex ), &OGL.vertices[0].s0 );
|
|
||||||
glEnableClientState( GL_TEXTURE_COORD_ARRAY );
|
|
||||||
|
|
||||||
glClientActiveTextureARB( GL_TEXTURE1_ARB );
|
glClientActiveTexture( GL_TEXTURE1 );
|
||||||
glTexCoordPointer( 2, GL_FLOAT, sizeof( GLVertex ), &OGL.vertices[0].s1 );
|
glTexCoordPointer( 2, GL_FLOAT, sizeof( GLVertex ), &OGL.vertices[0].s1 );
|
||||||
glEnableClientState( GL_TEXTURE_COORD_ARRAY );
|
glEnableClientState( GL_TEXTURE_COORD_ARRAY );
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
glTexCoordPointer( 2, GL_FLOAT, sizeof( GLVertex ), &OGL.vertices[0].s0 );
|
|
||||||
glEnableClientState( GL_TEXTURE_COORD_ARRAY );
|
|
||||||
}
|
|
||||||
|
|
||||||
if (OGL.EXT_fog_coord)
|
if (OGL.EXT_fog_coord)
|
||||||
{
|
{
|
||||||
|
@ -1032,8 +1021,7 @@ void OGL_DrawTexturedRect( float ulx, float uly, float lrx, float lry, float uls
|
||||||
rect[1].t0 = cache.current[0]->offsetT - rect[1].t0;
|
rect[1].t0 = cache.current[0]->offsetT - rect[1].t0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OGL.ARB_multitexture)
|
glActiveTexture( GL_TEXTURE0 );
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB );
|
|
||||||
|
|
||||||
if ((rect[0].s0 >= 0.0f) && (rect[1].s0 <= cache.current[0]->width))
|
if ((rect[0].s0 >= 0.0f) && (rect[1].s0 <= cache.current[0]->width))
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE );
|
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE );
|
||||||
|
@ -1053,7 +1041,7 @@ void OGL_DrawTexturedRect( float ulx, float uly, float lrx, float lry, float uls
|
||||||
rect[1].t0 *= cache.current[0]->scaleT;
|
rect[1].t0 *= cache.current[0]->scaleT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (combiner.usesT1 && OGL.ARB_multitexture)
|
if (combiner.usesT1)
|
||||||
{
|
{
|
||||||
rect[0].s1 = rect[0].s1 * cache.current[1]->shiftScaleS - gSP.textureTile[1]->fuls;
|
rect[0].s1 = rect[0].s1 * cache.current[1]->shiftScaleS - gSP.textureTile[1]->fuls;
|
||||||
rect[0].t1 = rect[0].t1 * cache.current[1]->shiftScaleT - gSP.textureTile[1]->fult;
|
rect[0].t1 = rect[0].t1 * cache.current[1]->shiftScaleT - gSP.textureTile[1]->fult;
|
||||||
|
@ -1080,7 +1068,7 @@ void OGL_DrawTexturedRect( float ulx, float uly, float lrx, float lry, float uls
|
||||||
rect[1].t1 = cache.current[1]->offsetT - rect[1].t1;
|
rect[1].t1 = cache.current[1]->offsetT - rect[1].t1;
|
||||||
}
|
}
|
||||||
|
|
||||||
glActiveTextureARB( GL_TEXTURE1_ARB );
|
glActiveTexture( GL_TEXTURE1 );
|
||||||
|
|
||||||
if ((rect[0].s1 == 0.0f) && (rect[1].s1 <= cache.current[1]->width))
|
if ((rect[0].s1 == 0.0f) && (rect[1].s1 <= cache.current[1]->width))
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE );
|
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE );
|
||||||
|
@ -1096,9 +1084,7 @@ void OGL_DrawTexturedRect( float ulx, float uly, float lrx, float lry, float uls
|
||||||
|
|
||||||
if ((gDP.otherMode.cycleType == G_CYC_COPY) && !OGL.forceBilinear)
|
if ((gDP.otherMode.cycleType == G_CYC_COPY) && !OGL.forceBilinear)
|
||||||
{
|
{
|
||||||
if (OGL.ARB_multitexture)
|
glActiveTexture( GL_TEXTURE0 );
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB );
|
|
||||||
|
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
|
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
|
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
|
||||||
}
|
}
|
||||||
|
@ -1113,45 +1099,21 @@ void OGL_DrawTexturedRect( float ulx, float uly, float lrx, float lry, float uls
|
||||||
if (OGL.EXT_secondary_color)
|
if (OGL.EXT_secondary_color)
|
||||||
glSecondaryColor3fEXT( rect[0].secondaryColor.r, rect[0].secondaryColor.g, rect[0].secondaryColor.b );
|
glSecondaryColor3fEXT( rect[0].secondaryColor.r, rect[0].secondaryColor.g, rect[0].secondaryColor.b );
|
||||||
|
|
||||||
if (OGL.ARB_multitexture)
|
glMultiTexCoord2f( GL_TEXTURE0, rect[0].s0, rect[0].t0 );
|
||||||
{
|
glMultiTexCoord2f( GL_TEXTURE1, rect[0].s1, rect[0].t1 );
|
||||||
glMultiTexCoord2fARB( GL_TEXTURE0_ARB, rect[0].s0, rect[0].t0 );
|
glVertex4f( rect[0].x, rect[0].y, rect[0].z, 1.0f );
|
||||||
glMultiTexCoord2fARB( GL_TEXTURE1_ARB, rect[0].s1, rect[0].t1 );
|
|
||||||
glVertex4f( rect[0].x, rect[0].y, rect[0].z, 1.0f );
|
|
||||||
|
|
||||||
glMultiTexCoord2fARB( GL_TEXTURE0_ARB, rect[1].s0, rect[0].t0 );
|
glMultiTexCoord2f( GL_TEXTURE0, rect[1].s0, rect[0].t0 );
|
||||||
glMultiTexCoord2fARB( GL_TEXTURE1_ARB, rect[1].s1, rect[0].t1 );
|
glMultiTexCoord2f( GL_TEXTURE1, rect[1].s1, rect[0].t1 );
|
||||||
glVertex4f( rect[1].x, rect[0].y, rect[0].z, 1.0f );
|
glVertex4f( rect[1].x, rect[0].y, rect[0].z, 1.0f );
|
||||||
|
|
||||||
glMultiTexCoord2fARB( GL_TEXTURE0_ARB, rect[1].s0, rect[1].t0 );
|
glMultiTexCoord2f( GL_TEXTURE0, rect[1].s0, rect[1].t0 );
|
||||||
glMultiTexCoord2fARB( GL_TEXTURE1_ARB, rect[1].s1, rect[1].t1 );
|
glMultiTexCoord2f( GL_TEXTURE1, rect[1].s1, rect[1].t1 );
|
||||||
glVertex4f( rect[1].x, rect[1].y, rect[0].z, 1.0f );
|
glVertex4f( rect[1].x, rect[1].y, rect[0].z, 1.0f );
|
||||||
|
|
||||||
glMultiTexCoord2fARB( GL_TEXTURE0_ARB, rect[0].s0, rect[1].t0 );
|
glMultiTexCoord2f( GL_TEXTURE0, rect[0].s0, rect[1].t0 );
|
||||||
glMultiTexCoord2fARB( GL_TEXTURE1_ARB, rect[0].s1, rect[1].t1 );
|
glMultiTexCoord2f( GL_TEXTURE1, rect[0].s1, rect[1].t1 );
|
||||||
glVertex4f( rect[0].x, rect[1].y, rect[0].z, 1.0f );
|
glVertex4f( rect[0].x, rect[1].y, rect[0].z, 1.0f );
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
glTexCoord2f( rect[0].s0, rect[0].t0 );
|
|
||||||
glVertex4f( rect[0].x, rect[0].y, rect[0].z, 1.0f );
|
|
||||||
|
|
||||||
if (flip)
|
|
||||||
glTexCoord2f( rect[1].s0, rect[0].t0 );
|
|
||||||
else
|
|
||||||
glTexCoord2f( rect[0].s0, rect[1].t0 );
|
|
||||||
|
|
||||||
glVertex4f( rect[1].x, rect[0].y, rect[0].z, 1.0f );
|
|
||||||
|
|
||||||
glTexCoord2f( rect[1].s0, rect[1].t0 );
|
|
||||||
glVertex4f( rect[1].x, rect[1].y, rect[0].z, 1.0f );
|
|
||||||
|
|
||||||
if (flip)
|
|
||||||
glTexCoord2f( rect[1].s0, rect[0].t0 );
|
|
||||||
else
|
|
||||||
glTexCoord2f( rect[1].s0, rect[0].t0 );
|
|
||||||
glVertex4f( rect[0].x, rect[1].y, rect[0].z, 1.0f );
|
|
||||||
}
|
|
||||||
glEnd();
|
glEnd();
|
||||||
|
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
|
|
7
OpenGL.h
7
OpenGL.h
|
@ -48,7 +48,6 @@ struct GLInfo
|
||||||
BOOL ATI_texture_env_combine3; // Radeon
|
BOOL ATI_texture_env_combine3; // Radeon
|
||||||
BOOL ATIX_texture_env_route; // Radeon
|
BOOL ATIX_texture_env_route; // Radeon
|
||||||
|
|
||||||
BOOL ARB_multitexture; // TNT, GeForce, Rage 128, Radeon
|
|
||||||
BOOL ARB_texture_env_combine; // GeForce, Rage 128, Radeon
|
BOOL ARB_texture_env_combine; // GeForce, Rage 128, Radeon
|
||||||
BOOL ARB_texture_env_crossbar; // Radeon (GeForce supports it, but doesn't report it)
|
BOOL ARB_texture_env_crossbar; // Radeon (GeForce supports it, but doesn't report it)
|
||||||
|
|
||||||
|
@ -136,9 +135,9 @@ extern PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC glGetCombinerOutputParameterivNV;
|
||||||
extern PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC glGetFinalCombinerInputParameterfvNV;
|
extern PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC glGetFinalCombinerInputParameterfvNV;
|
||||||
extern PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC glGetFinalCombinerInputParameterivNV;
|
extern PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC glGetFinalCombinerInputParameterivNV;
|
||||||
|
|
||||||
extern PFNGLACTIVETEXTUREARBPROC glActiveTextureARB;
|
extern PFNGLACTIVETEXTUREPROC glActiveTexture;
|
||||||
extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
|
extern PFNGLCLIENTACTIVETEXTUREPROC glClientActiveTexture;
|
||||||
extern PFNGLMULTITEXCOORD2FARBPROC glMultiTexCoord2fARB;
|
extern PFNGLMULTITEXCOORD2FPROC glMultiTexCoord2f;
|
||||||
|
|
||||||
extern PFNGLSECONDARYCOLOR3FVEXTPROC glSecondaryColor3fvEXT;
|
extern PFNGLSECONDARYCOLOR3FVEXTPROC glSecondaryColor3fvEXT;
|
||||||
|
|
||||||
|
|
19
Textures.cpp
19
Textures.cpp
|
@ -735,9 +735,7 @@ u32 TextureCache_CalculateCRC( u32 t, u32 width, u32 height )
|
||||||
|
|
||||||
void TextureCache_ActivateTexture( u32 t, CachedTexture *texture )
|
void TextureCache_ActivateTexture( u32 t, CachedTexture *texture )
|
||||||
{
|
{
|
||||||
// If multitexturing, set the appropriate texture
|
glActiveTexture( GL_TEXTURE0 + t );
|
||||||
if (OGL.ARB_multitexture)
|
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB + t );
|
|
||||||
|
|
||||||
// Bind the cached texture
|
// Bind the cached texture
|
||||||
glBindTexture( GL_TEXTURE_2D, texture->glName );
|
glBindTexture( GL_TEXTURE_2D, texture->glName );
|
||||||
|
@ -767,9 +765,7 @@ void TextureCache_ActivateTexture( u32 t, CachedTexture *texture )
|
||||||
|
|
||||||
void TextureCache_ActivateDummy( u32 t )
|
void TextureCache_ActivateDummy( u32 t )
|
||||||
{
|
{
|
||||||
//TextureCache_ActivateTexture( t, cache.dummy );
|
glActiveTexture( GL_TEXTURE0 + t );
|
||||||
if (OGL.ARB_multitexture)
|
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB + t );
|
|
||||||
|
|
||||||
glBindTexture( GL_TEXTURE_2D, cache.dummy->glName );
|
glBindTexture( GL_TEXTURE_2D, cache.dummy->glName );
|
||||||
|
|
||||||
|
@ -813,9 +809,7 @@ void TextureCache_UpdateBackground()
|
||||||
|
|
||||||
cache.misses++;
|
cache.misses++;
|
||||||
|
|
||||||
// If multitexturing, set the appropriate texture
|
glActiveTexture( GL_TEXTURE0 );
|
||||||
if (OGL.ARB_multitexture)
|
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB );
|
|
||||||
|
|
||||||
cache.current[0] = TextureCache_AddTop();
|
cache.current[0] = TextureCache_AddTop();
|
||||||
|
|
||||||
|
@ -1041,9 +1035,7 @@ void TextureCache_Update( u32 t )
|
||||||
|
|
||||||
cache.misses++;
|
cache.misses++;
|
||||||
|
|
||||||
// If multitexturing, set the appropriate texture
|
glActiveTexture( GL_TEXTURE0 + t );
|
||||||
if (OGL.ARB_multitexture)
|
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB + t );
|
|
||||||
|
|
||||||
cache.current[t] = TextureCache_AddTop();
|
cache.current[t] = TextureCache_AddTop();
|
||||||
|
|
||||||
|
@ -1134,8 +1126,7 @@ void TextureCache_Update( u32 t )
|
||||||
|
|
||||||
void TextureCache_ActivateNoise( u32 t )
|
void TextureCache_ActivateNoise( u32 t )
|
||||||
{
|
{
|
||||||
if (OGL.ARB_multitexture)
|
glActiveTexture( GL_TEXTURE0 + t );
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB + t );
|
|
||||||
|
|
||||||
glBindTexture( GL_TEXTURE_2D, cache.glNoiseNames[RSP.DList & 0x1F] );
|
glBindTexture( GL_TEXTURE_2D, cache.glNoiseNames[RSP.DList & 0x1F] );
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
|
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
|
||||||
|
|
|
@ -162,9 +162,7 @@ void TexEnv::Set()
|
||||||
combiner.vertex.secondaryColor = COMBINED;
|
combiner.vertex.secondaryColor = COMBINED;
|
||||||
combiner.vertex.alpha = m_fragment.alpha;
|
combiner.vertex.alpha = m_fragment.alpha;
|
||||||
|
|
||||||
// Shouldn't ever happen, but who knows?
|
glActiveTexture( GL_TEXTURE0 );
|
||||||
if (OGL.ARB_multitexture)
|
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB );
|
|
||||||
|
|
||||||
if (m_usesT0 || m_usesT1)
|
if (m_usesT0 || m_usesT1)
|
||||||
glEnable( GL_TEXTURE_2D );
|
glEnable( GL_TEXTURE_2D );
|
||||||
|
|
|
@ -101,8 +101,8 @@ static TexEnvCombinerArg TexEnvArgs[] =
|
||||||
|
|
||||||
/* if ((TexEnvArgs[i].source == GL_PREVIOUS_ARB) && (OGL.ATIX_texture_env_route)) \
|
/* if ((TexEnvArgs[i].source == GL_PREVIOUS_ARB) && (OGL.ATIX_texture_env_route)) \
|
||||||
{ \
|
{ \
|
||||||
m_alpha[combinedUnit].outputTexture = GL_TEXTURE0_ARB + n; \
|
m_alpha[combinedUnit].outputTexture = GL_TEXTURE0 + n; \
|
||||||
m_alpha[n].a.source = GL_TEXTURE0_ARB + n; \
|
m_alpha[n].a.source = GL_TEXTURE0 + n; \
|
||||||
m_alpha[n].a.operand = GL_SRC_ALPHA; \
|
m_alpha[n].a.operand = GL_SRC_ALPHA; \
|
||||||
} \
|
} \
|
||||||
else*/
|
else*/
|
||||||
|
@ -139,7 +139,7 @@ void Init_texture_env_combine()
|
||||||
for (int i = 0; i < OGL.maxTextureUnits; i++)
|
for (int i = 0; i < OGL.maxTextureUnits; i++)
|
||||||
{
|
{
|
||||||
TextureCache_ActivateDummy( i );
|
TextureCache_ActivateDummy( i );
|
||||||
//glActiveTextureARB( GL_TEXTURE0_ARB + i );
|
//glActiveTexture( GL_TEXTURE0 + i );
|
||||||
//glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB );
|
//glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_ARB );
|
||||||
//glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA8, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, tex );
|
//glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA8, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, tex );
|
||||||
//glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
|
//glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
|
||||||
|
@ -148,11 +148,11 @@ void Init_texture_env_combine()
|
||||||
|
|
||||||
if ((OGL.ARB_texture_env_crossbar) || (OGL.NV_texture_env_combine4) || (OGL.ATIX_texture_env_route))
|
if ((OGL.ARB_texture_env_crossbar) || (OGL.NV_texture_env_combine4) || (OGL.ATIX_texture_env_route))
|
||||||
{
|
{
|
||||||
TexEnvArgs[TEXEL0].source = GL_TEXTURE0_ARB;
|
TexEnvArgs[TEXEL0].source = GL_TEXTURE0;
|
||||||
TexEnvArgs[TEXEL0_ALPHA].source = GL_TEXTURE0_ARB;
|
TexEnvArgs[TEXEL0_ALPHA].source = GL_TEXTURE0;
|
||||||
|
|
||||||
TexEnvArgs[TEXEL1].source = GL_TEXTURE1_ARB;
|
TexEnvArgs[TEXEL1].source = GL_TEXTURE1;
|
||||||
TexEnvArgs[TEXEL1_ALPHA].source = GL_TEXTURE1_ARB;
|
TexEnvArgs[TEXEL1_ALPHA].source = GL_TEXTURE1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OGL.ATI_texture_env_combine3)
|
if (OGL.ATI_texture_env_combine3)
|
||||||
|
@ -166,7 +166,7 @@ void Uninit_texture_env_combine()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < OGL.maxTextureUnits; i++)
|
for (int i = 0; i < OGL.maxTextureUnits; i++)
|
||||||
{
|
{
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB + i );
|
glActiveTexture( GL_TEXTURE0 + i );
|
||||||
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE );
|
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -179,7 +179,7 @@ void TexEnvCombiner::UpdateColors()
|
||||||
{
|
{
|
||||||
SetConstant( color, m_color[i].constant, m_alpha[i].constant );
|
SetConstant( color, m_color[i].constant, m_alpha[i].constant );
|
||||||
|
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB + i );
|
glActiveTexture( GL_TEXTURE0 + i );
|
||||||
glTexEnvfv( GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, &color.r );
|
glTexEnvfv( GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, &color.r );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -197,13 +197,13 @@ TexEnvCombiner::TexEnvCombiner( Combiner *color, Combiner *alpha )
|
||||||
SetColorCombinerValues( i, arg1, GL_PREVIOUS_ARB, GL_SRC_COLOR );
|
SetColorCombinerValues( i, arg1, GL_PREVIOUS_ARB, GL_SRC_COLOR );
|
||||||
SetColorCombinerValues( i, arg2, GL_PREVIOUS_ARB, GL_SRC_COLOR );
|
SetColorCombinerValues( i, arg2, GL_PREVIOUS_ARB, GL_SRC_COLOR );
|
||||||
m_color[i].constant = COMBINED;
|
m_color[i].constant = COMBINED;
|
||||||
m_color[i].outputTexture = GL_TEXTURE0_ARB + i;
|
m_color[i].outputTexture = GL_TEXTURE0 + i;
|
||||||
|
|
||||||
SetAlphaCombinerValues( i, arg0, GL_PREVIOUS_ARB, GL_SRC_ALPHA );
|
SetAlphaCombinerValues( i, arg0, GL_PREVIOUS_ARB, GL_SRC_ALPHA );
|
||||||
SetAlphaCombinerValues( i, arg1, GL_PREVIOUS_ARB, GL_SRC_ALPHA );
|
SetAlphaCombinerValues( i, arg1, GL_PREVIOUS_ARB, GL_SRC_ALPHA );
|
||||||
SetAlphaCombinerValues( i, arg2, GL_PREVIOUS_ARB, GL_SRC_ALPHA );
|
SetAlphaCombinerValues( i, arg2, GL_PREVIOUS_ARB, GL_SRC_ALPHA );
|
||||||
m_alpha[i].constant = COMBINED;
|
m_alpha[i].constant = COMBINED;
|
||||||
m_alpha[i].outputTexture = GL_TEXTURE0_ARB + i;
|
m_alpha[i].outputTexture = GL_TEXTURE0 + i;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_usesT0 = FALSE;
|
m_usesT0 = FALSE;
|
||||||
|
@ -541,7 +541,7 @@ void BeginTextureUpdate_texture_env_combine()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < OGL.maxTextureUnits; i++)
|
for (int i = 0; i < OGL.maxTextureUnits; i++)
|
||||||
{
|
{
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB + i );
|
glActiveTexture( GL_TEXTURE0 + i );
|
||||||
glDisable( GL_TEXTURE_2D );
|
glDisable( GL_TEXTURE_2D );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -558,7 +558,7 @@ void TexEnvCombiner::Set()
|
||||||
|
|
||||||
for (int i = 0; i < OGL.maxTextureUnits; i++)
|
for (int i = 0; i < OGL.maxTextureUnits; i++)
|
||||||
{
|
{
|
||||||
glActiveTextureARB( GL_TEXTURE0_ARB + i );
|
glActiveTexture( GL_TEXTURE0 + i );
|
||||||
|
|
||||||
if ((i < m_usedUnits ) || ((i < 2) && m_usesT1))
|
if ((i < m_usedUnits ) || ((i < 2) && m_usesT1))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user