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

CanvasRenderer: Fixed MeshDepthMaterial.

上级 23fa9793
......@@ -173,7 +173,7 @@ THREE.Projector = function() {
this.projectScene = function ( scene, camera, sortObjects, sortElements ) {
var near = camera.near, far = camera.far, visible = false,
var visible = false,
o, ol, v, vl, f, fl, n, nl, c, cl, u, ul, object,
geometry, vertices, vertex, vertexPositionScreen,
faces, face, faceVertexNormals, faceVertexUvs, uvs,
......@@ -231,7 +231,10 @@ THREE.Projector = function() {
_vertex.positionScreen.copy( _vertex.positionWorld );
_vertex.positionScreen.applyMatrix4( _viewProjectionMatrix );
_vertex.positionScreen.multiplyScalar( 1 / _vertex.positionScreen.w );
_vertex.positionScreen.x /= _vertex.positionScreen.w;
_vertex.positionScreen.y /= _vertex.positionScreen.w;
_vertex.positionScreen.z /= _vertex.positionScreen.w;
_vertex.visible = _vertex.positionScreen.z > -1 && _vertex.positionScreen.z < 1;
......
......@@ -686,13 +686,13 @@ THREE.CanvasRenderer = function ( parameters ) {
var depth;
depth = 1 - smoothstep( v1.positionScreen.z, _near, _far );
depth = 1 - smoothstep( v1.positionScreen.z * v1.positionScreen.w, _near, _far );
_color1.setRGB( depth, depth, depth );
depth = 1 - smoothstep( v2.positionScreen.z, _near, _far )
depth = 1 - smoothstep( v2.positionScreen.z * v2.positionScreen.w, _near, _far )
_color2.setRGB( depth, depth, depth );
depth = 1 - smoothstep( v3.positionScreen.z, _near, _far );
depth = 1 - smoothstep( v3.positionScreen.z * v3.positionScreen.w, _near, _far );
_color3.setRGB( depth, depth, depth );
_color4.addColors( _color2, _color3 ).multiplyScalar( 0.5 );
......@@ -894,10 +894,10 @@ THREE.CanvasRenderer = function ( parameters ) {
_near = camera.near;
_far = camera.far;
_color1.r = _color1.g = _color1.b = 1 - smoothstep( v1.positionScreen.z, _near, _far );
_color2.r = _color2.g = _color2.b = 1 - smoothstep( v2.positionScreen.z, _near, _far );
_color3.r = _color3.g = _color3.b = 1 - smoothstep( v4.positionScreen.z, _near, _far );
_color4.r = _color4.g = _color4.b = 1 - smoothstep( v3.positionScreen.z, _near, _far );
_color1.r = _color1.g = _color1.b = 1 - smoothstep( v1.positionScreen.z * v1.positionScreen.w, _near, _far );
_color2.r = _color2.g = _color2.b = 1 - smoothstep( v2.positionScreen.z * v2.positionScreen.w, _near, _far );
_color3.r = _color3.g = _color3.b = 1 - smoothstep( v4.positionScreen.z * v4.positionScreen.w, _near, _far );
_color4.r = _color4.g = _color4.b = 1 - smoothstep( v3.positionScreen.z * v3.positionScreen.w, _near, _far );
_image = getGradientTexture( _color1, _color2, _color3, _color4 );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册