2010-07-05 6 views
0

J'ai une scène qui stocke les sommets dans l'espace 3D. Ce que je voudrais faire est de rendre ces sommets orthographiquement à partir d'une perspective isométrique.Coordonnées 3D des coordonnées de l'écran 2D avec une matrice orthographique

Dans toutes mes recherches la réponse évidente est d'utiliser une caméra orthographiques comme ceux en OpenGL, etc.

Le problème est que je voudrais écrire ce à partir de zéro pour aider avec ma compréhension si vraiment je Je cherche la théorie à l'intérieur de la caméra.

Comment puis-je prendre un point arbitraire dans l'espace 3D et obtenir les coordonnées de l'écran à l'aide d'une matrice orthographique?

Actuellement, j'ai ma matrice orthographiques:

[2/r-l, 0, 0, r+l/r-l] 

[0, 2/t-b, 0, 0, t+b/t-b] 

[0, 0, 2/f-n, 0, f+n/f-n] 

[0, 0, 0, 1] 

Où r est droit, l est à gauche, t est top, b est inférieur, f est loin, et n est proche.

Je joins ma rotation autour de l'axe y à cela et puis multiplier les coordonnées des sommets contre cette matrice que je crois convertit mon sommet mondial de l'espace en moi coordonne l'espace ...

Mais il est encore un vecteur 3D si Je suis curieux de savoir comment extrapoler les coordonnées de l'écran 2D.

Toute aide serait géniale.

Merci, Jon

Répondre

2

Here's un article expliquant comment le fait OpenGL.

+0

Merci, c'était utile. – Jon

Questions connexes