Fixed vertex lighting broken since last spot light changes
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7981 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
parent
2d2ce703d9
commit
20f5e9d200
@ -2,7 +2,7 @@
|
||||
#define ATTENUATION
|
||||
//#define HQ_ATTENUATION
|
||||
|
||||
uniform vec4 g_LightDirection;
|
||||
|
||||
varying vec2 texCoord;
|
||||
#ifdef SEPARATE_TEXCOORD
|
||||
varying vec2 texCoord2;
|
||||
@ -13,9 +13,11 @@ varying vec4 DiffuseSum;
|
||||
varying vec3 SpecularSum;
|
||||
|
||||
#ifndef VERTEX_LIGHTING
|
||||
uniform vec4 g_LightDirection;
|
||||
varying vec3 vPosition;
|
||||
varying vec3 vViewDir;
|
||||
varying vec4 vLightDir;
|
||||
varying vec3 lightVec;
|
||||
#else
|
||||
varying vec2 vertexLightValues;
|
||||
#endif
|
||||
@ -51,7 +53,7 @@ varying vec3 SpecularSum;
|
||||
#endif
|
||||
uniform float m_AlphaDiscardThreshold;
|
||||
|
||||
varying vec3 lightVec;
|
||||
|
||||
|
||||
#ifndef VERTEX_LIGHTING
|
||||
uniform float m_Shininess;
|
||||
|
@ -13,7 +13,6 @@ uniform float m_Shininess;
|
||||
|
||||
uniform vec4 g_LightColor;
|
||||
uniform vec4 g_LightPosition;
|
||||
//uniform vec4 g_LightDirection;
|
||||
uniform vec4 g_AmbientLightColor;
|
||||
|
||||
varying vec2 texCoord;
|
||||
@ -48,6 +47,7 @@ varying vec3 lightVec;
|
||||
varying vec4 vLightDir;
|
||||
#else
|
||||
varying vec2 vertexLightValues;
|
||||
uniform vec4 g_LightDirection;
|
||||
#endif
|
||||
|
||||
#ifdef USE_REFLECTION
|
||||
@ -114,12 +114,12 @@ vec2 computeLighting(in vec3 wvPos, in vec3 wvNorm, in vec3 wvViewDir, in vec4 w
|
||||
vec4 lightDir;
|
||||
lightComputeDir(wvPos, g_LightColor, wvLightPos, lightDir);
|
||||
float spotFallOff = 1.0;
|
||||
if(spotVec.w != 0.0){
|
||||
if(g_LightDirection.w != 0.0){
|
||||
vec3 L=normalize(lightVec.xyz);
|
||||
vec3 spotdir = normalize(spotVec.xyz);
|
||||
float curAngleCos = dot(-L, spotdir);
|
||||
float innerAngleCos = spotVec.w;
|
||||
float outerAngleCos = lightVec.w;
|
||||
vec3 spotdir = normalize(g_LightDirection.xyz);
|
||||
float curAngleCos = dot(-L, spotdir);
|
||||
float innerAngleCos = floor(g_LightDirection.w) * 0.001;
|
||||
float outerAngleCos = fract(g_LightDirection.w);
|
||||
float innerMinusOuter = innerAngleCos - outerAngleCos;
|
||||
spotFallOff = clamp((curAngleCos - outerAngleCos) / innerMinusOuter, 0.0, 1.0);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user