2011-01-23 1 views
0

J'ai 2 maillages rendus avec DirectX 9 et une caméra qui regarde 0,0,0. Un maillage est situé à 0,0,0 et l'autre à 5,0,0. Comment puis-je tourner la caméra autour de 0,0,0 pour toujours regarder les deux mailles, mais à partir de la nouvelle position? Je voudrais appuyer sur les touches fléchées du clavier et être capable de faire pivoter la caméraFaire pivoter la caméra au centre d'un modèle

+0

était-il vraiment nécessaire de baliser la question à la fois Direct3D9 et DirectX9? – Puppy

+0

Voulez-vous dire que vous voulez que les deux mailles tournent en place? – Alex

+0

Je voudrais faire pivoter tous les modèles 3D sur la position 0,0,0 afin que je puisse les voir à partir d'une position différente. Je ne sais pas si c'est plus facile de faire pivoter la caméra ou les mailles ... – Stefano

Répondre

2

Construire la matrice de la caméra à partir d'une fonction de recherche. Il existe des fonctions d3dx pour construire une matrice correcte.

Ce que vous voulez faire est de configurer l'appareil photo de sorte que vous puissiez le laisser aller dans un cercle autour des objets. Dites un cercle de rayon 10 centré autour de 2.5,0,0. Iam pas sûr autour de ce que l'axe que vous voulez tourner, mais je suppose que z (x):

// pseudo 
cameraposition= vec3(sin(x)*10.0 + 2.5,0,cos(x)*10) 
cameralookat= vec3(2.5,0,0) 

Pour plus d'informations voir http://msdn.microsoft.com/en-us/library/bb397804.aspx

Questions connexes