2013-03-01 5 views
1

Y at-il un moyen de configurer la caméra dans Three.js de sorte que lorsqu'un objet 2d (ligne, plan, image) est rendu à z = 0, il ne saigne pas (de perspective) dans d'autres pixels.Three.js pixel perfect à z = 0 plan

Ex:

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(....); 

Si vous par exemple les données de readPixels, je trouve toujours que le pixel est rendu en pixels qui l'entourent (ex: 3,3,0 peut contenir des informations de couleur), mais il que ce soit pixel parfait si l'élément qui est dessiné est sur le plan z = 0. Le nombre de pixels restitués dépend de l'emplacement de votre caméra.

Répondre

0

Vous voudrez probablement utiliser THREE.OrthographicCamera pour le 2d stuff au lieu de THREE.PerspectiveCamera. De cette façon, ils ne sont pas affectés par la projection de perspective.

+0

J'avais essayé cela hier en pensant la même chose, et pourtant j'avais toujours le même problème. Finalement, j'ai compris que j'avais toujours un antialiasing réglé sur vrai. Merci pour l'aide. – Doug

0

Si votre caméra par exemple t z = 1 alors beaucoup de pixels seront rendus. Si vous déplacez votre caméra à z = 1000, vous voyez, en raison de la perspective, peut-être que seulement 1 pixel sera rendu à partir de votre géométrie.

Questions connexes