MCPcopy
hub / github.com/stemkoski/stemkoski.github.com / pushTriangle

Function pushTriangle

Three.js/js/Three66.js:8238–8272  ·  view source on GitHub ↗
( a, b, c )

Source from the content-addressed store, hash-verified

8236 };
8237
8238 var pushTriangle = function ( a, b, c ) {
8239
8240 var v1 = _vertexPool[ a ];
8241 var v2 = _vertexPool[ b ];
8242 var v3 = _vertexPool[ c ];
8243
8244 if ( checkTriangleVisibility( v1, v2, v3 ) === true ) {
8245
8246 _face = getNextFaceInPool();
8247
8248 _face.id = object.id;
8249 _face.v1.copy( v1 );
8250 _face.v2.copy( v2 );
8251 _face.v3.copy( v3 );
8252 _face.z = ( v1.positionScreen.z + v2.positionScreen.z + v3.positionScreen.z ) / 3;
8253
8254 for ( var i = 0; i < 3; i ++ ) {
8255
8256 var offset = arguments[ i ] * 3;
8257 var normal = _face.vertexNormalsModel[ i ];
8258
8259 normal.set( normals[ offset + 0 ], normals[ offset + 1 ], normals[ offset + 2 ] );
8260 normal.applyMatrix3( normalMatrix ).normalize();
8261
8262 }
8263
8264 _face.vertexNormalsLength = 3;
8265
8266 _face.material = object.material;
8267
8268 _renderData.elements.push( _face );
8269
8270 }
8271
8272 };
8273
8274 return {
8275 setObject: setObject,

Callers

nothing calls this directly

Calls 2

checkTriangleVisibilityFunction · 0.85
getNextFaceInPoolFunction · 0.85

Tested by

no test coverage detected