[OpenGL] Caméra volante / libre en C++

Le côté programmation du développement d'un jeu vidéo.

Caméra volante / libre en C++

Messagepar teto » 15 Juin 2008, 18:28

Hello,

J'aimerais faire une "flying camera" comme celle dans cette archive ( appuyer sur espace pour passer en mode flying camera ) :
http://download.tuxfamily.org/bluecosmos/GLCamera2.zip

Est-ce que qqu'un aurait une camera similaire qui n'utiliserait pas les quaternions car je ne veux pas les utiliser ?
Je programme en C++ mais je pense pouvoir adapter le code depuis un autre langage.

Merci
Avatar de l’utilisateur
teto
 
Messages: 1168
Inscription: 26 Juil 2005, 19:02
Localisation: /home/Paris

Messagepar deathangel » 15 Juin 2008, 19:40

j'ai pas pu lancer le programme, il me sort un erreur à l'execution (pareil quand je veux ouvrir le projet avec VS), mais je me demandais, pourquoi tu ne veux pas te servir des quaternions ? cela simplifie grandement les déplacements de caméra sans avoir à gérer pleins de cas particuliers.
95% des problèmes informatiques se situent entre la chaise et le clavier
--> Créez votre robot chien : http://doggyproject.free.fr/
--> Gagnez des PACK+ gratuitement : http://www.packbarre.com/
--> S.U.S Tennis de table http://www.sus.asso.fr
Avatar de l’utilisateur
deathangel
Hello World, I'm new !
 
Messages: 963
Inscription: 10 Avr 2005, 08:50
Localisation: Strasbourg

Messagepar teto » 15 Juin 2008, 19:51

Disons que ca oblige à coder des classes supplémentaires et j'aimerais bien comprendre ce que je code.
Pour comprendre "engros" comment fonctionnent les quaternions,me faudrait un peu de temps dont je suis dépourvu dans l'immédiat ( mais je m'y interesserai forcement un jour ou l'autre ).
Avatar de l’utilisateur
teto
 
Messages: 1168
Inscription: 26 Juil 2005, 19:02
Localisation: /home/Paris

Messagepar deathangel » 15 Juin 2008, 22:34

d'accord. Ca répond toujours pas à ta question, mais tu as des librairies mathématiques spécialisées dans le graphisme qui peuvent t'éviter d'avoir à faire tes classes toi même, du style GMTL. Tu peux créer des rotations autour d'un axe donné (gmtl::AxisAngle) pour les convertir en quaternion et effectuer des rotations sur tes vecteurs de caméra (c'est ce dont je me sers dans mes applis du boulot). J'espere que ca pourra t'aider, sinon désolé
95% des problèmes informatiques se situent entre la chaise et le clavier
--> Créez votre robot chien : http://doggyproject.free.fr/
--> Gagnez des PACK+ gratuitement : http://www.packbarre.com/
--> S.U.S Tennis de table http://www.sus.asso.fr
Avatar de l’utilisateur
deathangel
Hello World, I'm new !
 
Messages: 963
Inscription: 10 Avr 2005, 08:50
Localisation: Strasbourg

Messagepar Algex » 16 Juin 2008, 10:46

Salut,

Ici il y a un tuto assez complet pour une caméra freefly mais qui utilise une classe de vecteurs (bah ouais quand même et puis après on fait de la 3D sans math aussi ? ^^).
Bien sur après rien ne t'empêche de l'arranger à ta sauce pour ce que tu veux mais t'as le principe ;).
Algex
Hello World, I'm new !
 
Messages: 19
Inscription: 28 Juin 2007, 14:18

Messagepar valentin » 16 Juin 2008, 11:14

Vaut réponse me paraisse bien compliké.:00000003:
Avec :

void gluLookAt(GLdouble ex, GLdouble ey, GLdouble ez, GLdouble cx, GLdouble cy, GLdouble cz, GLdouble upx, GLdouble upy, GLdouble upz);


appliquées à de bonnes variables on peut y arriver en une ligne ( suffit de faire les bon projeté sur les bons axes:00000013: vive les maths).
Moi, jme sert de ça pour suivre mes persos dans mes jeu mais jsuis persuadé de pouvoir l'utiliser pour faire une caméra volante.

A toi d'essayer de voir ce qui te parait le plus simple.:00000032:
Avatar de l’utilisateur
valentin
Hello World, I'm new !
 
Messages: 494
Inscription: 20 Mai 2008, 16:10
Localisation: GRENOBLE

Messagepar teto » 21 Juin 2008, 11:53

Merci pour le tuto sur lesiteduzero,c'est exactement ce que je cherchais.
J'ai essayé d'adapter le code à mon système mais ca marchait moyen avec la souris donc énervé j'ai tout recoder depuis 0 ( et je me suis décidé à utiliser gluLookAt dont je voulais me passer) et me suis rendu compte que j'avais merdé au niveau de la gestion de la souris.

Résultat j'ai aujourd'hui qque chose qui marche,en fait j'ai toujours un problème de souris.A savoir quand phi se rapproche de 0 avec la souris ( en coordonnees spheriques ),mon repere s'inverse :s
Je me demande si c'est pas un pb de "Gimbal locks" J'ai vu bcp de fois le terme mais je ne sais pas à quoi ca correspond.Je peux mettre 2 screens pour se rendre compte voire mm un exe.
Avatar de l’utilisateur
teto
 
Messages: 1168
Inscription: 26 Juil 2005, 19:02
Localisation: /home/Paris


Retourner vers Programmation

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot] et 9 invités

cron