Browse Source

Merge pull request #7556 from bhouston/removeStructInitializers

work around Chrome on Andriod bug - can not use struct constructors.
Mr.doob 9 years ago
parent
commit
fd310c2f3e

+ 9 - 2
src/renderers/shaders/ShaderChunk/lights_lambert_vertex.glsl

@@ -1,7 +1,14 @@
 vec3 diffuse = vec3( 1.0 );
 vec3 diffuse = vec3( 1.0 );
 
 
-GeometricContext geometry = GeometricContext( mvPosition.xyz, normalize( transformedNormal ), normalize( -mvPosition.xyz ) );
-GeometricContext backGeometry = GeometricContext( geometry.position, -geometry.normal, geometry.viewDir );
+GeometricContext geometry;
+geometry.position = mvPosition.xyz;
+geometry.normal = normalize( transformedNormal );
+geometry.viewDir = normalize( -mvPosition.xyz );
+
+GeometricContext backGeometry;
+backGeometry.position = geometry.position;
+backGeometry.normal = -geometry.normal;
+backGeometry.viewDir = geometry.viewDir;
 
 
 vLightFront = vec3( 0.0 );
 vLightFront = vec3( 0.0 );
 
 

+ 4 - 1
src/renderers/shaders/ShaderChunk/lights_template.glsl

@@ -13,7 +13,10 @@
 //  - Add diffuse light probe (irradiance cubemap) support.
 //  - Add diffuse light probe (irradiance cubemap) support.
 //
 //
 
 
-GeometricContext geometry = GeometricContext( -vViewPosition, normal, normalize( vViewPosition ) );
+GeometricContext geometry;
+geometry.position = -vViewPosition;
+geometry.normal = normal;
+geometry.viewDir = normalize( vViewPosition );
 
 
 #if ( NUM_POINT_LIGHTS > 0 ) && defined( Material_RE_DirectLight )
 #if ( NUM_POINT_LIGHTS > 0 ) && defined( Material_RE_DirectLight )