|
32 | 32 | import { OrbitControls } from './jsm/controls/OrbitControls.js';
|
33 | 33 | import { SubdivisionModifier } from './jsm/modifiers/SubdivisionModifier.js';
|
34 | 34 |
|
35 |
| - var camera, scene, renderer, stats, smoothMesh, wireframe; |
| 35 | + let camera, scene, renderer, stats, smoothMesh, wireframe; |
36 | 36 |
|
37 |
| - var smoothMaterial = new THREE.MeshPhongMaterial( { color: 0xffffff, flatShading: true, vertexColors: true } ); |
38 |
| - var wireframeMaterial = new THREE.MeshBasicMaterial( { color: 0x000000, wireframe: true, opacity: 0.15, transparent: true } ); |
| 37 | + const smoothMaterial = new THREE.MeshPhongMaterial( { color: 0xffffff, flatShading: true, vertexColors: true } ); |
| 38 | + const wireframeMaterial = new THREE.MeshBasicMaterial( { color: 0x000000, wireframe: true, opacity: 0.15, transparent: true } ); |
39 | 39 |
|
40 |
| - var faceIndices = [ 'a', 'b', 'c' ]; |
| 40 | + const faceIndices = [ 'a', 'b', 'c' ]; |
41 | 41 |
|
42 |
| - var params = { |
| 42 | + const params = { |
43 | 43 | subdivisions: 2
|
44 | 44 | };
|
45 | 45 |
|
|
53 | 53 | scene = new THREE.Scene();
|
54 | 54 | scene.background = new THREE.Color( 0xf0f0f0 );
|
55 | 55 |
|
56 |
| - var light = new THREE.PointLight( 0xffffff, 1.5 ); |
| 56 | + const light = new THREE.PointLight( 0xffffff, 1.5 ); |
57 | 57 | light.position.set( 1000, 1000, 2000 );
|
58 | 58 | scene.add( light );
|
59 | 59 |
|
60 |
| - var loader = new THREE.BufferGeometryLoader(); |
| 60 | + const loader = new THREE.BufferGeometryLoader(); |
61 | 61 | loader.load( 'models/json/WaltHeadLo_buffergeometry.json', function ( bufferGeometry ) {
|
62 | 62 |
|
63 | 63 | // converting to legacy THREE.Geometry because SubdivisionModifier only returns THREE.Geometry
|
64 | 64 |
|
65 |
| - var geometry = new THREE.Geometry().fromBufferGeometry( bufferGeometry ); |
| 65 | + const geometry = new THREE.Geometry().fromBufferGeometry( bufferGeometry ); |
66 | 66 | geometry.mergeVertices();
|
67 | 67 |
|
68 |
| - var material = new THREE.MeshBasicMaterial( { color: 0xcccccc, wireframe: true } ); |
69 |
| - var mesh = new THREE.Mesh( bufferGeometry, material ); |
| 68 | + const material = new THREE.MeshBasicMaterial( { color: 0xcccccc, wireframe: true } ); |
| 69 | + const mesh = new THREE.Mesh( bufferGeometry, material ); |
70 | 70 | scene.add( mesh );
|
71 | 71 |
|
72 |
| - var gui = new GUI(); |
| 72 | + const gui = new GUI(); |
73 | 73 |
|
74 | 74 | gui.add( params, 'subdivisions', 0, 3 ).step( 1 ).onChange( function ( subdivisions ) {
|
75 | 75 |
|
|
94 | 94 |
|
95 | 95 | //
|
96 | 96 |
|
97 |
| - var controls = new OrbitControls( camera, renderer.domElement ); |
| 97 | + const controls = new OrbitControls( camera, renderer.domElement ); |
98 | 98 | controls.minDistance = 50;
|
99 | 99 | controls.maxDistance = 400;
|
100 | 100 |
|
|
110 | 110 |
|
111 | 111 | function subdivide( geometry, subdivisions ) {
|
112 | 112 |
|
113 |
| - var modifier = new SubdivisionModifier( subdivisions ); |
| 113 | + const modifier = new SubdivisionModifier( subdivisions ); |
114 | 114 |
|
115 |
| - var smoothGeometry = modifier.modify( geometry ); |
| 115 | + const smoothGeometry = modifier.modify( geometry ); |
116 | 116 |
|
117 | 117 | // colorify faces
|
118 | 118 |
|
119 |
| - for ( var i = 0; i < smoothGeometry.faces.length; i ++ ) { |
| 119 | + for ( let i = 0; i < smoothGeometry.faces.length; i ++ ) { |
120 | 120 |
|
121 |
| - var face = smoothGeometry.faces[ i ]; |
| 121 | + const face = smoothGeometry.faces[ i ]; |
122 | 122 |
|
123 |
| - for ( var j = 0; j < 3; j ++ ) { |
| 123 | + for ( let j = 0; j < 3; j ++ ) { |
124 | 124 |
|
125 |
| - var vertexIndex = face[ faceIndices[ j ] ]; |
126 |
| - var vertex = smoothGeometry.vertices[ vertexIndex ]; |
| 125 | + const vertexIndex = face[ faceIndices[ j ] ]; |
| 126 | + const vertex = smoothGeometry.vertices[ vertexIndex ]; |
127 | 127 |
|
128 |
| - var hue = ( vertex.y / 200 ) + 0.5; |
129 |
| - var color = new THREE.Color().setHSL( hue, 1, 0.5 ); |
| 128 | + const hue = ( vertex.y / 200 ) + 0.5; |
| 129 | + const color = new THREE.Color().setHSL( hue, 1, 0.5 ); |
130 | 130 | face.vertexColors[ j ] = color;
|
131 | 131 |
|
132 | 132 | }
|
|
0 commit comments