diff --git a/chapter-03/02-point-light.html b/chapter-03/02-point-light.html index d2ddc05b..7eb9a24e 100644 --- a/chapter-03/02-point-light.html +++ b/chapter-03/02-point-light.html @@ -138,6 +138,9 @@ this.pointColor = pointColor; this.intensity = 1; this.distance = 100; + this.visible = function (){ + pointLight.visible = !pointLight.visible; + }; } var gui = new dat.GUI(); @@ -156,6 +159,7 @@ gui.add(controls, 'distance', 0, 100).onChange(function (e) { pointLight.distance = e; }); + gui.add(controls,'visible'); render(); diff --git a/chapter-03/05-hemisphere-light.html b/chapter-03/05-hemisphere-light.html index da527112..8be5af50 100644 --- a/chapter-03/05-hemisphere-light.html +++ b/chapter-03/05-hemisphere-light.html @@ -3,7 +3,7 @@ - Example 03.05 - Directional Light + Example 03.05 - Hemisphere Light diff --git a/chapter-04/01-basic-mesh-material.html b/chapter-04/01-basic-mesh-material.html index 5a508cb0..21b83a9b 100644 --- a/chapter-04/01-basic-mesh-material.html +++ b/chapter-04/01-basic-mesh-material.html @@ -43,7 +43,6 @@ var webGLRenderer = new THREE.WebGLRenderer(); webGLRenderer.setClearColorHex(0xEEEEEE, 1.0); webGLRenderer.setSize(window.innerWidth, window.innerHeight); - webGLRenderer.shadowMapEnabled = true; var canvasRenderer = new THREE.CanvasRenderer(); canvasRenderer.setSize(window.innerWidth, window.innerHeight); @@ -89,12 +88,6 @@ var ambientLight = new THREE.AmbientLight(0x0c0c0c); scene.add(ambientLight); - // add spotlight for the shadows - var spotLight = new THREE.SpotLight(0xffffff); - spotLight.position.set(-40, 60, -10); - spotLight.castShadow = true; - scene.add(spotLight); - // add the output of the renderer to the html element $("#WebGL-output").append(renderer.domElement); diff --git a/chapter-04/02-depth-material.html b/chapter-04/02-depth-material.html index 406bc17c..53b90a76 100644 --- a/chapter-04/02-depth-material.html +++ b/chapter-04/02-depth-material.html @@ -106,7 +106,7 @@ gui.add(controls, 'cameraFar', 50, 200).onChange(function (e) { camera.far = e; }); - + gui.add(controls, 'outputObjects'); render(); diff --git a/chapter-04/03-combined-material.html b/chapter-04/03-combined-material.html index d40203c7..52703db2 100644 --- a/chapter-04/03-combined-material.html +++ b/chapter-04/03-combined-material.html @@ -45,8 +45,7 @@ renderer.setClearColorHex(0x00000, 1.0); renderer.setSize(window.innerWidth, window.innerHeight); - renderer.shadowMapEnabled = true; - + // position and point the camera to the center of the scene camera.position.x = -50; camera.position.y = 40; @@ -86,8 +85,7 @@ var colorMaterial = new THREE.MeshBasicMaterial({color: 0x00ff00, transparent: true, blending: THREE.MultiplyBlending}) var cube = new THREE.SceneUtils.createMultiMaterialObject(cubeGeometry, [colorMaterial, cubeMaterial]); cube.children[1].scale.set(0.99, 0.99, 0.99); - cube.castShadow = true; - + // position the cube randomly in the scene cube.position.x = -60 + Math.round((Math.random() * 100)); cube.position.y = Math.round((Math.random() * 10)); @@ -113,6 +111,7 @@ gui.add(controls, 'cameraFar', 50, 200).onChange(function (e) { camera.far = e; }); + gui.add(controls, 'outputObjects'); render(); diff --git a/chapter-04/04-mesh-normal-material.html b/chapter-04/04-mesh-normal-material.html index 1fb186a8..e83c1c94 100644 --- a/chapter-04/04-mesh-normal-material.html +++ b/chapter-04/04-mesh-normal-material.html @@ -70,17 +70,6 @@ sphere.position.y = 3; sphere.position.z = 2; - for (var f = 0, fl = sphere.geometry.faces.length; f < fl; f++) { - var face = sphere.geometry.faces[ f ]; - var arrow = new THREE.ArrowHelper( - face.normal, - face.centroid, - 2, - 0x3333FF); - sphere.add(arrow); - } - - cube.position = sphere.position; plane.position = sphere.position; @@ -128,6 +117,37 @@ this.shadow = "flat"; + this.showArrows = function(){ + for (var f = 0, fl = sphere.geometry.faces.length; f < fl; f++) { + var face = sphere.geometry.faces[ f ]; + var arrow = new THREE.ArrowHelper( + face.normal, + face.centroid, + 2, + 0x3333FF); + sphere.add(arrow); + } + for (var f = 0, fl = cube.geometry.faces.length; f < fl; f++) { + var face = cube.geometry.faces[ f ]; + var arrow = new THREE.ArrowHelper( + face.normal, + face.centroid, + 2, + 0x3333FF); + cube.add(arrow); + } + }; + + this.deleteArrows = function(){ + for (var i = sphere.children.length-1;i>=0;i--){ + var s = sphere.children[i]; + sphere.remove(s); + } + for (var i = cube.children.length-1;i>=0;i--){ + var s = cube.children[i]; + cube.remove(s); + } + } } var gui = new dat.GUI(); @@ -232,6 +252,9 @@ scene.add(e); }); + spGui.add(controls, 'showArrows'); + spGui.add(controls, 'deleteArrows'); + render(); function render() { diff --git a/chapter-04/05-mesh-face-material.html b/chapter-04/05-mesh-face-material.html index 554e8187..f0553d57 100644 --- a/chapter-04/05-mesh-face-material.html +++ b/chapter-04/05-mesh-face-material.html @@ -108,7 +108,7 @@ var controls = new function () { this.rotationSpeed = 0.02; - this.numberOfObjects = scene.children.length; + //this.numberOfObjects = scene.children.length; } var gui = new dat.GUI(); @@ -120,7 +120,7 @@ stats.update(); - group.rotation.y = step += 0.01; + group.rotation.y = step += controls.rotationSpeed; // render using requestAnimationFrame requestAnimationFrame(render); renderer.render(scene, camera); diff --git a/chapter-04/09-line-material.html b/chapter-04/09-line-material.html index 484d0c98..0181d4e8 100644 --- a/chapter-04/09-line-material.html +++ b/chapter-04/09-line-material.html @@ -7,6 +7,7 @@ +