forked from teamnwah/openmw-tes3coop
Tidy up the mess I made of lighting.glsl a bit by removing two single-line functions that are only ever called in one location.
This commit is contained in:
parent
26ecf2088b
commit
e33bec97be
1 changed files with 2 additions and 12 deletions
|
@ -1,15 +1,5 @@
|
||||||
#define MAX_LIGHTS 8
|
#define MAX_LIGHTS 8
|
||||||
|
|
||||||
vec3 lightAmbient(int lightIndex, vec3 ambient)
|
|
||||||
{
|
|
||||||
return ambient * gl_LightSource[lightIndex].ambient.xyz;
|
|
||||||
}
|
|
||||||
|
|
||||||
vec3 lightDiffuse(int lightIndex, vec4 diffuse, vec3 viewNormal, vec3 lightDir)
|
|
||||||
{
|
|
||||||
return diffuse.xyz * gl_LightSource[lightIndex].diffuse.xyz * max(dot(viewNormal.xyz, lightDir), 0.0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void perLight(out vec3 ambientOut, out vec3 diffuseOut, int lightIndex, vec3 viewPos, vec3 viewNormal, vec4 diffuse, vec3 ambient)
|
void perLight(out vec3 ambientOut, out vec3 diffuseOut, int lightIndex, vec3 viewPos, vec3 viewNormal, vec4 diffuse, vec3 ambient)
|
||||||
{
|
{
|
||||||
vec3 lightDir;
|
vec3 lightDir;
|
||||||
|
@ -20,8 +10,8 @@ void perLight(out vec3 ambientOut, out vec3 diffuseOut, int lightIndex, vec3 vie
|
||||||
lightDir = normalize(lightDir);
|
lightDir = normalize(lightDir);
|
||||||
float illumination = clamp(1.0 / (gl_LightSource[lightIndex].constantAttenuation + gl_LightSource[lightIndex].linearAttenuation * lightDistance + gl_LightSource[lightIndex].quadraticAttenuation * lightDistance * lightDistance), 0.0, 1.0);
|
float illumination = clamp(1.0 / (gl_LightSource[lightIndex].constantAttenuation + gl_LightSource[lightIndex].linearAttenuation * lightDistance + gl_LightSource[lightIndex].quadraticAttenuation * lightDistance * lightDistance), 0.0, 1.0);
|
||||||
|
|
||||||
ambientOut = lightAmbient(lightIndex, ambient) * illumination;
|
ambientOut = ambient * gl_LightSource[lightIndex].ambient.xyz * illumination;
|
||||||
diffuseOut = lightDiffuse(lightIndex, diffuse, viewNormal, lightDir) * illumination;
|
diffuseOut = diffuse.xyz * gl_LightSource[lightIndex].diffuse.xyz * max(dot(viewNormal.xyz, lightDir), 0.0) * illumination;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef FRAGMENT
|
#ifdef FRAGMENT
|
||||||
|
|
Loading…
Reference in a new issue