在z = 0平面上,Three.js像素完美

时间:2013-03-01 03:00:22

标签: three.js

有没有办法在Three.js中配置相机,以便在z = 0时渲染2d对象(线,平面,图像)时,它不会(从透视图)放血到其他像素。

例如:

var plane = new THREE.Mesh(new THREE.PlaneGeometry(1, 1), material);
plane.position.x = 4;
plane.position.y = 3;
scene.add(plane);
...
// Get canvas pixel information
context.readPixels(....);

如果您通过readPixels示例数据,我总是会发现像素正在渲染到其周围的像素中(例如:3,3,0可能包含一些颜色信息),但如果元素那样,则希望它是像素完美的是绘制在z = 0平面上。

2 个答案:

答案 0 :(得分:0)

渲染哪些像素取决于相机的位置。如果您的相机例如t z = 1则会渲染很多像素。如果您将相机移动到z = 1000,那么您会看到,由于透视,可能只有1个像素将从您的几何体渲染。

答案 1 :(得分:0)

您可能希望将THREE.OrthographicCamera用于2d内容,而不是THREE.PerspectiveCamera。这样他们就不会受到透视投影的影响。