2017-07-03 4 views
0

J'ai ce projet AR dont j'ai besoin pour transformer les coordonnées de l'écran en coordonnées mondiales. Je suis this tutorial et j'ai presque réussi.Obtenir la largeur et la hauteur de l'espace caméra dans la programmation graphique

Le seul problème lorsque j'essaie de passer de l'espace de clip homogène à l'espace des yeux, j'utilise la mauvaise matrice de projection. La raison pour laquelle la matrice de projection est fausse parce que je ne peux pas obtenir la bonne largeur et hauteur de l'espace de la caméra. J'ai utilisé cette bibliothèque appelée Kudan, quand je déplace le téléphone de la caméra vers l'avant et vers l'arrière, je m'attends à ce que la largeur et la hauteur de la caméra changent car la taille de la caméra devrait diminuer. Pour le dernier recours, actuellement j'essaie de trouver la taille de l'espace de caméra par moi-même, Comment puis-je implémenter ceci?

Ceci est ma matrice de projection

Matrix4f projectionMatrix = new Matrix4f(-0.5f* currentCamWidth, 0.5f * currentCamWidth, -0.5f * currentCamHeight, 0.5f * currentCamHeight, -1f, node.getFullPosition().getZ()); 

largeur de la came et de hauteur de la came actuelle sont toujours constante. les coordonnées sont les coordonnées opengl

+0

L'espace de la caméra n'a pas de largeur/hauteur. La chose la plus proche que vous obtenez est le champ de vision et le rapport d'aspect. –

+0

comment aller de fov? –

+0

pouvons-nous obtenir la matrice de projection à partir du rapport d'aspect? –

Répondre

0

lorsque je déplace le téléphone de la caméra avant et en arrière, je me attends à la largeur de la caméra et la hauteur pour changer puisque la taille de l'espace de la caméra

Pourquoi? Ce n'est pas parce que vous vous déplacez autour du point de vue que les propriétés de la «lentille virtuelle» changent.

devrait devenir plus petit quand il se déplace vers l'avant et vice versa.

Pourquoi? Ce n'est pas comme ça que fonctionnent les caméras.


Il est vraiment difficile de donner une réponse utile ici, sans voir le code que vous avez écrit jusqu'à présent. En ce moment, c'est au mieux une supposition.

+0

Je cherche juste la théorie, es-tu familier avec kudan? –

+0

pour l'instant, je connais la position de l'objet dans l'espace appareil photo, quand j'ajuste l'espace de mon appareil photo de sorte que l'objet dans le coin de l'écran de mon appareil photo. la coordonnée de l'objet n'est pas la même avec ma taille d'écran. –

+0

fondamentalement, j'essaye de convertir mes coordonnées d'écran aux coordonnées d'espace de caméra. mais sans connaître la taille de la coordonnée de la caméra, ce n'est pas possible. –