Fix lighting crash when using environment mapping due to the addition of instancing

experimental
shadowislord 11 years ago
parent aea5e4af31
commit bfc866774f
  1. 16
      jme3-core/src/main/resources/Common/MatDefs/Light/Lighting.vert

@ -4,14 +4,6 @@
#import "Common/ShaderLib/Skinning.glsllib" #import "Common/ShaderLib/Skinning.glsllib"
/*
uniform mat4 g_WorldViewProjectionMatrix;
uniform mat4 g_WorldViewMatrix;
uniform mat3 g_NormalMatrix;
uniform mat4 g_ViewMatrix;
*/
uniform vec4 m_Ambient; uniform vec4 m_Ambient;
uniform vec4 m_Diffuse; uniform vec4 m_Diffuse;
uniform vec4 m_Specular; uniform vec4 m_Specular;
@ -58,12 +50,10 @@ varying vec3 lightVec;
#ifdef USE_REFLECTION #ifdef USE_REFLECTION
uniform vec3 g_CameraPosition; uniform vec3 g_CameraPosition;
uniform mat4 g_WorldMatrix;
uniform vec3 m_FresnelParams; uniform vec3 m_FresnelParams;
varying vec4 refVec; varying vec4 refVec;
/** /**
* Input: * Input:
* attribute inPosition * attribute inPosition
@ -75,10 +65,12 @@ varying vec3 lightVec;
* varying refVec * varying refVec
*/ */
void computeRef(in vec4 modelSpacePos){ void computeRef(in vec4 modelSpacePos){
vec3 worldPos = (g_WorldMatrix * modelSpacePos).xyz; // vec3 worldPos = (g_WorldMatrix * modelSpacePos).xyz;
vec3 worldPos = TransformWorld(modelSpacePos).xyz;
vec3 I = normalize( g_CameraPosition - worldPos ).xyz; vec3 I = normalize( g_CameraPosition - worldPos ).xyz;
vec3 N = normalize( (g_WorldMatrix * vec4(inNormal, 0.0)).xyz ); // vec3 N = normalize( (g_WorldMatrix * vec4(inNormal, 0.0)).xyz );
vec3 N = normalize( TransformWorld(vec4(inNormal, 0.0)).xyz );
refVec.xyz = reflect(I, N); refVec.xyz = reflect(I, N);
refVec.w = m_FresnelParams.x + m_FresnelParams.y * pow(1.0 + dot(I, N), m_FresnelParams.z); refVec.w = m_FresnelParams.x + m_FresnelParams.y * pow(1.0 + dot(I, N), m_FresnelParams.z);

Loading…
Cancel
Save