Переглянути джерело

Improved webgl_shadowmap_pointlight example.

Mr.doob 7 роки тому
батько
коміт
2fa0349370
1 змінених файлів з 15 додано та 6 видалено
  1. 15 6
      examples/webgl_shadowmap_pointlight.html

+ 15 - 6
examples/webgl_shadowmap_pointlight.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <!DOCTYPE html>
 <html lang="en">
 <html lang="en">
 	<head>
 	<head>
-		<title>three.js webgl - PointLight ShadowMap </title>
+		<title>three.js webgl - PointLight ShadowMap</title>
 		<meta charset="utf-8">
 		<meta charset="utf-8">
 		<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
 		<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
 		<style>
 		<style>
@@ -20,7 +20,12 @@
 				z-index: 100;
 				z-index: 100;
 				display:block;
 				display:block;
 			}
 			}
-			#info a { color: #f00; font-weight: bold; text-decoration: underline; cursor: pointer }
+			#info a {
+				color: #f88;
+				font-weight: bold;
+				text-decoration: underline;
+				cursor: pointer;
+			}
 		</style>
 		</style>
 	</head>
 	</head>
 	<body>
 	<body>
@@ -48,13 +53,15 @@
 				camera.position.set( 0, 10, 40 );
 				camera.position.set( 0, 10, 40 );
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
-				scene.add( new THREE.AmbientLight( 0x222233 ) );
+				scene.add( new THREE.AmbientLight( 0x111122 ) );
 
 
 				// lights
 				// lights
 
 
 				function createLight( color ) {
 				function createLight( color ) {
 
 
-					var pointLight = new THREE.PointLight( color, 1, 30 );
+					var intensity = 1.5;
+
+					var pointLight = new THREE.PointLight( color, intensity, 20 );
 					pointLight.castShadow = true;
 					pointLight.castShadow = true;
 					pointLight.shadow.camera.near = 1;
 					pointLight.shadow.camera.near = 1;
 					pointLight.shadow.camera.far = 60;
 					pointLight.shadow.camera.far = 60;
@@ -62,12 +69,14 @@
 
 
 					var geometry = new THREE.SphereGeometry( 0.3, 12, 6 );
 					var geometry = new THREE.SphereGeometry( 0.3, 12, 6 );
 					var material = new THREE.MeshBasicMaterial( { color: color } );
 					var material = new THREE.MeshBasicMaterial( { color: color } );
+					material.color.multiplyScalar( intensity );
 					var sphere = new THREE.Mesh( geometry, material );
 					var sphere = new THREE.Mesh( geometry, material );
 					pointLight.add( sphere );
 					pointLight.add( sphere );
 
 
 					var texture = new THREE.CanvasTexture( generateTexture() );
 					var texture = new THREE.CanvasTexture( generateTexture() );
 					texture.magFilter = THREE.NearestFilter;
 					texture.magFilter = THREE.NearestFilter;
 					texture.wrapT = THREE.RepeatWrapping;
 					texture.wrapT = THREE.RepeatWrapping;
+					texture.wrapS = THREE.RepeatWrapping;
 					texture.repeat.set( 1, 3.5 );
 					texture.repeat.set( 1, 3.5 );
 
 
 					var geometry = new THREE.SphereGeometry( 2, 32, 8 );
 					var geometry = new THREE.SphereGeometry( 2, 32, 8 );
@@ -94,10 +103,10 @@
 
 
 				}
 				}
 
 
-				pointLight = createLight( 0xffffff );
+				pointLight = createLight( 0x0088ff );
 				scene.add( pointLight );
 				scene.add( pointLight );
 
 
-				pointLight2 = createLight( 0xff0000 );
+				pointLight2 = createLight( 0xff8888 );
 				scene.add( pointLight2 );
 				scene.add( pointLight2 );
 
 
 				//
 				//