|
@@ -692,44 +692,27 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
_gl.bindBuffer( _gl.ARRAY_BUFFER, buffers.normal );
|
|
|
|
|
|
- if ( material instanceof THREE.MeshPhongMaterial === false && material.shading === THREE.FlatShading ) {
|
|
|
+ if ( material.type !== 'MeshPhongMaterial' && material.shading === THREE.FlatShading ) {
|
|
|
|
|
|
- var nx, ny, nz,
|
|
|
- nax, nbx, ncx, nay, nby, ncy, naz, nbz, ncz,
|
|
|
- normalArray,
|
|
|
- i, il = object.count * 3;
|
|
|
+ for ( var i = 0, l = object.count * 3; i < l; i += 9 ) {
|
|
|
|
|
|
- for ( i = 0; i < il; i += 9 ) {
|
|
|
+ var array = object.normalArray;
|
|
|
|
|
|
- normalArray = object.normalArray;
|
|
|
+ var nx = ( array[ i + 0 ] + array[ i + 3 ] + array[ i + 6 ] ) / 3;
|
|
|
+ var ny = ( array[ i + 1 ] + array[ i + 4 ] + array[ i + 7 ] ) / 3;
|
|
|
+ var nz = ( array[ i + 2 ] + array[ i + 5 ] + array[ i + 8 ] ) / 3;
|
|
|
|
|
|
- nax = normalArray[ i ];
|
|
|
- nay = normalArray[ i + 1 ];
|
|
|
- naz = normalArray[ i + 2 ];
|
|
|
+ array[ i + 0 ] = nx;
|
|
|
+ array[ i + 1 ] = ny;
|
|
|
+ array[ i + 2 ] = nz;
|
|
|
|
|
|
- nbx = normalArray[ i + 3 ];
|
|
|
- nby = normalArray[ i + 4 ];
|
|
|
- nbz = normalArray[ i + 5 ];
|
|
|
+ array[ i + 3 ] = nx;
|
|
|
+ array[ i + 4 ] = ny;
|
|
|
+ array[ i + 5 ] = nz;
|
|
|
|
|
|
- ncx = normalArray[ i + 6 ];
|
|
|
- ncy = normalArray[ i + 7 ];
|
|
|
- ncz = normalArray[ i + 8 ];
|
|
|
-
|
|
|
- nx = ( nax + nbx + ncx ) / 3;
|
|
|
- ny = ( nay + nby + ncy ) / 3;
|
|
|
- nz = ( naz + nbz + ncz ) / 3;
|
|
|
-
|
|
|
- normalArray[ i ] = nx;
|
|
|
- normalArray[ i + 1 ] = ny;
|
|
|
- normalArray[ i + 2 ] = nz;
|
|
|
-
|
|
|
- normalArray[ i + 3 ] = nx;
|
|
|
- normalArray[ i + 4 ] = ny;
|
|
|
- normalArray[ i + 5 ] = nz;
|
|
|
-
|
|
|
- normalArray[ i + 6 ] = nx;
|
|
|
- normalArray[ i + 7 ] = ny;
|
|
|
- normalArray[ i + 8 ] = nz;
|
|
|
+ array[ i + 6 ] = nx;
|
|
|
+ array[ i + 7 ] = ny;
|
|
|
+ array[ i + 8 ] = nz;
|
|
|
|
|
|
}
|
|
|
|