Simplify light factor when advanced lighting is disabled.
In this case only diffuseMatColor really matters, other values are constant. It improves performance on GLES renderer and it's also noticeably faster for GL on desktop. For example: - fps increased for me from 60 to 69 on Hacienda with intel HD 4000 - from 43 to 49 on lighthouse There is much less difference on nvidia graphics card, but still it gives small performance improvement.
This commit is contained in:
parent
a73af6eb0d
commit
bc6ff38b22
@ -10,6 +10,7 @@ uniform sampler2D SSAO;
|
||||
|
||||
vec3 getLightFactor(vec3 diffuseMatColor, vec3 specularMatColor, float specMapValue, float emitMapValue)
|
||||
{
|
||||
#if defined(Advanced_Lighting_Enabled)
|
||||
vec2 tc = gl_FragCoord.xy / screen;
|
||||
vec3 DiffuseComponent = texture(DiffuseMap, tc).xyz;
|
||||
vec3 SpecularComponent = texture(SpecularMap, tc).xyz;
|
||||
@ -17,4 +18,11 @@ vec3 getLightFactor(vec3 diffuseMatColor, vec3 specularMatColor, float specMapVa
|
||||
vec3 tmp = diffuseMatColor * DiffuseComponent * (1. - specMapValue) + specularMatColor * SpecularComponent * specMapValue;
|
||||
vec3 emitCol = diffuseMatColor.xyz * diffuseMatColor.xyz * diffuseMatColor.xyz * 15.;
|
||||
return tmp * ao + (emitMapValue * emitCol);
|
||||
#else
|
||||
#if defined(GL_ES)
|
||||
return diffuseMatColor * 0.73; // 0.5 ^ (1. / 2.2)
|
||||
#else
|
||||
return diffuseMatColor * 0.5;
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user