提交 d2bbdef5 编写于 作者: M Mr.doob

Improved webgl_tonemapping example.

上级 6b23c9a6
......@@ -79,7 +79,7 @@
Cineon: THREE.CineonToneMapping
};
var camera, scene, renderer, controls, objects = [];
var camera, scene, renderer, controls, group;
var composer;
var standardMaterial, standardMaterialPremultiplied, floorMaterial;
......@@ -97,7 +97,6 @@
scene = new THREE.Scene();
renderer = new THREE.WebGLRenderer( { antialias: false } );
renderer.setClearColor( new THREE.Color( 0xffffff ) );
standardMaterial = new THREE.MeshStandardMaterial( {
bumpScale: - 0.05,
......@@ -135,29 +134,30 @@
standardMaterial.needsUpdate = true;
} );
group = new THREE.Group();
scene.add( group );
var geometry = new THREE.TorusKnotGeometry( 18, 8, 150, 20 );;
var torusMesh1 = new THREE.Mesh( geometry, standardMaterial );
torusMesh1.position.x = 0.0;
torusMesh1.castShadow = true;
torusMesh1.receiveShadow = true;
scene.add( torusMesh1 );
objects.push( torusMesh1 );
var mesh = new THREE.Mesh( geometry, standardMaterial );
mesh.castShadow = true;
mesh.receiveShadow = true;
group.add( mesh );
floorMaterial = new THREE.MeshStandardMaterial( {
map: null,
roughnessMap: null,
color: 0xffffff,
color: 0x888888,
metalness: 0.0,
roughness: 0.0,
shading: THREE.SmoothShading
roughness: 1.0,
side: THREE.BackSide
} );
var planeGeometry = new THREE.PlaneBufferGeometry( 200, 200 );
var planeMesh1 = new THREE.Mesh( planeGeometry, floorMaterial );
planeMesh1.position.y = - 50;
planeMesh1.rotation.x = - Math.PI * 0.5;
planeMesh1.receiveShadow = true;
scene.add( planeMesh1 );
var geometry = new THREE.BoxBufferGeometry( 200, 200, 200 );
var mesh = new THREE.Mesh( geometry, floorMaterial );
mesh.position.y = 50;
mesh.rotation.x = - Math.PI * 0.5;
mesh.receiveShadow = true;
scene.add( mesh );
// Materials
var hdrpath = "../examples/textures/cube/hdrPisa/";
......@@ -183,12 +183,14 @@
// Lights
scene.add( new THREE.AmbientLight( 0x222222 ) );
scene.add( new THREE.HemisphereLight( 0x111111, 0x000000 ) );
var spotLight = new THREE.SpotLight( 0xffffff );
spotLight.position.set( 50, 100, 50 );
spotLight.angle = Math.PI / 7;
spotLight.penumbra = 0.8
spotLight.decay = 2;
spotLight.distance = 300;
spotLight.penumbra = 0.8;
spotLight.castShadow = true;
scene.add( spotLight );
......@@ -277,9 +279,9 @@
camera.lookAt( scene.position );
for ( var i = 0, l = objects.length; i < l; i ++ ) {
for ( var i = 0, l = group.children.length; i < l; i ++ ) {
var object = objects[ i ];
var object = group.children[ i ];
object.rotation.y += 0.005;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册