mirror of
https://github.com/UberGames/ioef.git
synced 2024-11-23 20:52:54 +00:00
OpenGL2: Fix r_lightmap.
This commit is contained in:
parent
93e1feaaad
commit
eb7408ddac
1 changed files with 28 additions and 15 deletions
|
@ -1141,9 +1141,9 @@ static void RB_IterateStagesGeneric( shaderCommands_t *input )
|
|||
index |= LIGHTDEF_USE_SHADOWMAP;
|
||||
}
|
||||
|
||||
if (r_lightmap->integer && index & LIGHTDEF_USE_LIGHTMAP)
|
||||
if (r_lightmap->integer && ((index & LIGHTDEF_LIGHTTYPE_MASK) == LIGHTDEF_USE_LIGHTMAP))
|
||||
{
|
||||
index = LIGHTDEF_USE_LIGHTMAP;
|
||||
index = LIGHTDEF_USE_TCGEN_AND_TCMOD;
|
||||
}
|
||||
|
||||
sp = &pStage->glslShaderGroup[index];
|
||||
|
@ -1232,19 +1232,32 @@ static void RB_IterateStagesGeneric( shaderCommands_t *input )
|
|||
GLSL_SetUniformVec4(sp, UNIFORM_FOGCOLORMASK, fogColorMask);
|
||||
}
|
||||
|
||||
ComputeTexMods( pStage, TB_DIFFUSEMAP, texMatrix, texOffTurb );
|
||||
GLSL_SetUniformVec4(sp, UNIFORM_DIFFUSETEXMATRIX, texMatrix);
|
||||
GLSL_SetUniformVec4(sp, UNIFORM_DIFFUSETEXOFFTURB, texOffTurb);
|
||||
|
||||
GLSL_SetUniformInt(sp, UNIFORM_TCGEN0, pStage->bundle[0].tcGen);
|
||||
if (pStage->bundle[0].tcGen == TCGEN_VECTOR)
|
||||
if (r_lightmap->integer)
|
||||
{
|
||||
vec3_t vec;
|
||||
vec4_t v;
|
||||
VectorSet4(v, 1.0f, 0.0f, 0.0f, 1.0f);
|
||||
GLSL_SetUniformVec4(sp, UNIFORM_DIFFUSETEXMATRIX, v);
|
||||
VectorSet4(v, 0.0f, 0.0f, 0.0f, 0.0f);
|
||||
GLSL_SetUniformVec4(sp, UNIFORM_DIFFUSETEXOFFTURB, v);
|
||||
|
||||
VectorCopy(pStage->bundle[0].tcGenVectors[0], vec);
|
||||
GLSL_SetUniformVec3(sp, UNIFORM_TCGEN0VECTOR0, vec);
|
||||
VectorCopy(pStage->bundle[0].tcGenVectors[1], vec);
|
||||
GLSL_SetUniformVec3(sp, UNIFORM_TCGEN0VECTOR1, vec);
|
||||
GLSL_SetUniformInt(sp, UNIFORM_TCGEN0, TCGEN_LIGHTMAP);
|
||||
}
|
||||
else
|
||||
{
|
||||
ComputeTexMods(pStage, TB_DIFFUSEMAP, texMatrix, texOffTurb);
|
||||
GLSL_SetUniformVec4(sp, UNIFORM_DIFFUSETEXMATRIX, texMatrix);
|
||||
GLSL_SetUniformVec4(sp, UNIFORM_DIFFUSETEXOFFTURB, texOffTurb);
|
||||
|
||||
GLSL_SetUniformInt(sp, UNIFORM_TCGEN0, pStage->bundle[0].tcGen);
|
||||
if (pStage->bundle[0].tcGen == TCGEN_VECTOR)
|
||||
{
|
||||
vec3_t vec;
|
||||
|
||||
VectorCopy(pStage->bundle[0].tcGenVectors[0], vec);
|
||||
GLSL_SetUniformVec3(sp, UNIFORM_TCGEN0VECTOR0, vec);
|
||||
VectorCopy(pStage->bundle[0].tcGenVectors[1], vec);
|
||||
GLSL_SetUniformVec3(sp, UNIFORM_TCGEN0VECTOR1, vec);
|
||||
}
|
||||
}
|
||||
|
||||
GLSL_SetUniformMat4(sp, UNIFORM_MODELMATRIX, backEnd.or.transformMatrix);
|
||||
|
@ -1294,7 +1307,7 @@ static void RB_IterateStagesGeneric( shaderCommands_t *input )
|
|||
{
|
||||
for (i = 0; i < NUM_TEXTURE_BUNDLES; i++)
|
||||
{
|
||||
if (i == TB_LIGHTMAP)
|
||||
if (i == TB_COLORMAP)
|
||||
R_BindAnimatedImageToTMU( &pStage->bundle[TB_LIGHTMAP], i);
|
||||
else
|
||||
GL_BindToTMU( tr.whiteImage, i );
|
||||
|
@ -1304,7 +1317,7 @@ static void RB_IterateStagesGeneric( shaderCommands_t *input )
|
|||
{
|
||||
for (i = 0; i < NUM_TEXTURE_BUNDLES; i++)
|
||||
{
|
||||
if (i == TB_LIGHTMAP)
|
||||
if (i == TB_COLORMAP)
|
||||
R_BindAnimatedImageToTMU( &pStage->bundle[TB_DELUXEMAP], i);
|
||||
else
|
||||
GL_BindToTMU( tr.whiteImage, i );
|
||||
|
|
Loading…
Reference in a new issue