( v1, v2, v3, uv1, uv2, uv3, element, material, scene )
| 9572 | } |
| 9573 | |
| 9574 | function renderFace3( v1, v2, v3, uv1, uv2, uv3, element, material, scene ) { |
| 9575 | |
| 9576 | _this.info.render.vertices += 3; |
| 9577 | _this.info.render.faces ++; |
| 9578 | |
| 9579 | setOpacity( material.opacity ); |
| 9580 | setBlending( material.blending ); |
| 9581 | |
| 9582 | _v1x = v1.positionScreen.x; _v1y = v1.positionScreen.y; |
| 9583 | _v2x = v2.positionScreen.x; _v2y = v2.positionScreen.y; |
| 9584 | _v3x = v3.positionScreen.x; _v3y = v3.positionScreen.y; |
| 9585 | |
| 9586 | drawTriangle( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y ); |
| 9587 | |
| 9588 | if ( material instanceof THREE.MeshBasicMaterial ) { |
| 9589 | |
| 9590 | if ( material.map ) { |
| 9591 | |
| 9592 | if ( material.map.mapping instanceof THREE.UVMapping ) { |
| 9593 | |
| 9594 | _uvs = element.uvs[ 0 ]; |
| 9595 | patternPath( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, _uvs[ uv1 ].u, _uvs[ uv1 ].v, _uvs[ uv2 ].u, _uvs[ uv2 ].v, _uvs[ uv3 ].u, _uvs[ uv3 ].v, material.map ); |
| 9596 | |
| 9597 | } |
| 9598 | |
| 9599 | |
| 9600 | } else if ( material.envMap ) { |
| 9601 | |
| 9602 | if ( material.envMap.mapping instanceof THREE.SphericalReflectionMapping ) { |
| 9603 | |
| 9604 | var cameraMatrix = camera.matrixWorldInverse; |
| 9605 | |
| 9606 | _vector3.copy( element.vertexNormalsWorld[ uv1 ] ); |
| 9607 | _uv1x = ( _vector3.x * cameraMatrix.elements[0] + _vector3.y * cameraMatrix.elements[4] + _vector3.z * cameraMatrix.elements[8] ) * 0.5 + 0.5; |
| 9608 | _uv1y = - ( _vector3.x * cameraMatrix.elements[1] + _vector3.y * cameraMatrix.elements[5] + _vector3.z * cameraMatrix.elements[9] ) * 0.5 + 0.5; |
| 9609 | |
| 9610 | _vector3.copy( element.vertexNormalsWorld[ uv2 ] ); |
| 9611 | _uv2x = ( _vector3.x * cameraMatrix.elements[0] + _vector3.y * cameraMatrix.elements[4] + _vector3.z * cameraMatrix.elements[8] ) * 0.5 + 0.5; |
| 9612 | _uv2y = - ( _vector3.x * cameraMatrix.elements[1] + _vector3.y * cameraMatrix.elements[5] + _vector3.z * cameraMatrix.elements[9] ) * 0.5 + 0.5; |
| 9613 | |
| 9614 | _vector3.copy( element.vertexNormalsWorld[ uv3 ] ); |
| 9615 | _uv3x = ( _vector3.x * cameraMatrix.elements[0] + _vector3.y * cameraMatrix.elements[4] + _vector3.z * cameraMatrix.elements[8] ) * 0.5 + 0.5; |
| 9616 | _uv3y = - ( _vector3.x * cameraMatrix.elements[1] + _vector3.y * cameraMatrix.elements[5] + _vector3.z * cameraMatrix.elements[9] ) * 0.5 + 0.5; |
| 9617 | |
| 9618 | patternPath( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, _uv1x, _uv1y, _uv2x, _uv2y, _uv3x, _uv3y, material.envMap ); |
| 9619 | |
| 9620 | }/* else if ( material.envMap.mapping == THREE.SphericalRefractionMapping ) { |
| 9621 | |
| 9622 | |
| 9623 | |
| 9624 | }*/ |
| 9625 | |
| 9626 | |
| 9627 | } else { |
| 9628 | |
| 9629 | material.wireframe ? strokePath( material.color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin ) : fillPath( material.color ); |
| 9630 | |
| 9631 | } |
no test coverage detected