mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-16 01:11:28 +00:00
Tweak the lighting model so that specular highlights ignore the diffuse map value when a specular map is defined.
git-svn-id: https://svn.eduke32.com/eduke32@1380 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
77703ce68a
commit
396256b6e0
1 changed files with 4 additions and 3 deletions
|
@ -255,6 +255,7 @@ _prprogrambit prprogrambits[PR_BIT_COUNT] = {
|
||||||
"\n",
|
"\n",
|
||||||
// frag_prog
|
// frag_prog
|
||||||
" diffuseTexel = texture2D(diffuseMap, commonTexCoord.st);\n"
|
" diffuseTexel = texture2D(diffuseMap, commonTexCoord.st);\n"
|
||||||
|
" specTexel = diffuseTexel;\n"
|
||||||
" if (isLightingPass == 0)\n"
|
" if (isLightingPass == 0)\n"
|
||||||
" result *= diffuseTexel;\n"
|
" result *= diffuseTexel;\n"
|
||||||
"\n",
|
"\n",
|
||||||
|
@ -486,12 +487,12 @@ _prprogrambit prprogrambits[PR_BIT_COUNT] = {
|
||||||
"\n"
|
"\n"
|
||||||
" R = reflect(-L, N);\n"
|
" R = reflect(-L, N);\n"
|
||||||
"\n"
|
"\n"
|
||||||
" lightDiffuse = diffuseTexel.a * gl_Color.a * diffuseTexel.rgb * shadowResult *\n"
|
" lightDiffuse = diffuseTexel.a * gl_Color.a * shadowResult * lightTexel *\n"
|
||||||
" gl_LightSource[0].diffuse.rgb * lightAttenuation * spotAttenuation;\n"
|
" gl_LightSource[0].diffuse.rgb * lightAttenuation * spotAttenuation;\n"
|
||||||
" result += vec4(lightDiffuse * lightTexel * NdotL, 0.0);\n"
|
" result += vec4(lightDiffuse * diffuseTexel.rgb * NdotL, 0.0);\n"
|
||||||
"\n"
|
"\n"
|
||||||
" lightSpecular = pow( max(dot(R, E), 0.0), specularMaterial.x * specTexel.a) * specularMaterial.y;\n"
|
" lightSpecular = pow( max(dot(R, E), 0.0), specularMaterial.x * specTexel.a) * specularMaterial.y;\n"
|
||||||
" result += vec4(lightDiffuse * lightTexel * specTexel.rgb * lightSpecular, 0.0);\n"
|
" result += vec4(lightDiffuse * specTexel.rgb * lightSpecular, 0.0);\n"
|
||||||
"\n",
|
"\n",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue