فهرست منبع

Workaround for Android.

Mr.doob 9 سال پیش
والد
کامیت
cb30dcc210
2فایلهای تغییر یافته به همراه6 افزوده شده و 6 حذف شده
  1. 3 3
      src/renderers/shaders/ShaderChunk/common.glsl
  2. 3 3
      src/renderers/shaders/ShaderChunk/lights_template.glsl

+ 3 - 3
src/renderers/shaders/ShaderChunk/common.glsl

@@ -37,7 +37,7 @@ struct GeometricContext {
 		vec3 direction;
 		vec3 color;
 
-		bool shadowEnabled;
+		int shadowEnabled;
 		float shadowBias;
 		float shadowRadius;
 		vec2 shadowMapSize;
@@ -59,7 +59,7 @@ struct GeometricContext {
 		float angleCos;
 		float exponent;
 
-		bool shadowEnabled;
+		int shadowEnabled;
 		float shadowBias;
 		float shadowRadius;
 		vec2 shadowMapSize;
@@ -78,7 +78,7 @@ struct GeometricContext {
 		float distance;
 		float decay;
 
-		bool shadowEnabled;
+		int shadowEnabled;
 		float shadowBias;
 		float shadowRadius;
 		vec2 shadowMapSize;

+ 3 - 3
src/renderers/shaders/ShaderChunk/lights_template.glsl

@@ -32,7 +32,7 @@ IncidentLight directLight;
 		directLight = getPointDirectLight( pointLight, geometry );
 
 		#ifdef USE_SHADOWMAP
-		if ( pointLight.shadowEnabled ) directLight.color *= getPointShadow( pointLightsShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] );
+		if ( bool( pointLight.shadowEnabled ) ) directLight.color *= getPointShadow( pointLightsShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] );
 		#endif
 
 		RE_Direct( directLight, geometry, material, reflectedLight );
@@ -52,7 +52,7 @@ IncidentLight directLight;
 		directLight = getSpotDirectLight( spotLight, geometry );
 
 		#ifdef USE_SHADOWMAP
-		if ( spotLight.shadowEnabled ) directLight.color *= getShadow( spotLightsShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] );
+		if ( bool( spotLight.shadowEnabled ) ) directLight.color *= getShadow( spotLightsShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] );
 		#endif
 
 		RE_Direct( directLight, geometry, material, reflectedLight );
@@ -72,7 +72,7 @@ IncidentLight directLight;
 		directLight = getDirectionalDirectLight( directionalLight, geometry );
 
 		#ifdef USE_SHADOWMAP
-		if ( directionalLight.shadowEnabled ) directLight.color *= getShadow( directionalLightsShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] );
+		if ( bool( directionalLight.shadowEnabled ) ) directLight.color *= getShadow( directionalLightsShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] );
 		#endif
 
 		RE_Direct( directLight, geometry, material, reflectedLight );