Pārlūkot izejas kodu

add lambert variations now varies double sided.

Ben Houston 9 gadi atpakaļ
vecāks
revīzija
082a19d5b8
1 mainītis faili ar 9 papildinājumiem un 4 dzēšanām
  1. 9 4
      examples/webgl_materials_lambert_variations.html

+ 9 - 4
examples/webgl_materials_lambert_variations.html

@@ -88,8 +88,7 @@
 
 				var geometry = new THREE.SphereBufferGeometry( sphereRadius, 32, 16 );
 
-	
-				for( var alpha = 0; alpha <= 1.0; alpha += stepSize ) {
+				for( var alpha = 0, alphaIndex = 0; alpha <= 1.0; alpha += stepSize, alphaIndex ++ ) {
 
 					var baseColor = new THREE.Color().setHSL( alpha, 0.5, 0.5 );
 
@@ -97,15 +96,21 @@
 						reflectionCube = null;
 					}
 
-					for( var beta = 0; beta <= 1.0; beta += stepSize ) {
+					for( var beta = 0, betaIndex = 0; beta <= 1.0; beta += stepSize, betaIndex ++ ) {
 
 						var reflectivity = beta;
 
+						var side = THREE.FrontSide; 
+						if( ( betaIndex % 2 ) === 0 ) {
+							side = THREE.DoubleSide;
+						}
+
 						for( var gamma = 0; gamma <= 1.0; gamma += stepSize ) {
 
 							var diffuseColor = baseColor.clone().multiplyScalar( gamma );
 
-							var material = new THREE.MeshLambertMaterial( { map: imgTexture, color: diffuseColor, reflectivity: reflectivity, shading: THREE.SmoothShading, envMap: reflectionCube } )
+							var material = new THREE.MeshLambertMaterial( { map: imgTexture, color: diffuseColor,
+								 reflectivity: reflectivity, envMap: reflectionCube, side: side } )
 
 							var mesh = new THREE.Mesh( geometry, material );