Accueil > Forum > > > > pb avec la gestion de camera !
pb avec la gestion de camera !
jeudi 22 juillet 2004 à 12:36:25 |
pb avec la gestion de camera !

AmK
|
j'ai un petit problème ( voir gros ) avec la gestion de camera sous opengl , mais le pb ne vient pas de la , mon pb est purement c++ , ya qu"a voir les valeurs de positionX et positionY .... qui restent à zero ! voila les sources : http://site.voila.fr/allbrain/sourcesbis.zip y'aurait t'il un sauveur ?
|
|
jeudi 22 juillet 2004 à 16:16:33 |
Re : pb avec la gestion de camera !

Chouchou182
|
Salut
J'ai pas compris l'utilité de la variable Game::rienafoutre.....
Le vrai problème c'est que j'ai pas pu compiler : LINK : error LNK2001: unresolved external symbol _crtMainStartup Je ne sais pas d'où ça vient (j'ai jamais rencontré cette erreur avant ...)
Si quelqu'un connais, merci de prévenir.
A++
Chouchou
|
|
jeudi 22 juillet 2004 à 16:25:10 |
Re : pb avec la gestion de camera !

LordBob
|
Chouchou182 << bah visiblement a premiere vu, tu as un erreurs parce que tu n'as pas ajouter une librairie a ton projet (librairie qui est necessaire a la compilation) !!! Bob...
"La chance accorde ses faveur aux esprits avertis..."
|
|
jeudi 22 juillet 2004 à 21:51:27 |
Re : pb avec la gestion de camera !

Chouchou182
|
Salut
Je me doute bien qu'il manque une librairie mais laquelle ? Etrangement j'ai pu compiler en mode release (en debug, voir erreur plus haut).
Voyons comment est initialisé lobjet gh_Camera qui semble bugger ; comme ceci : Camera gh_Camera;
Quel est le constructeur par défaut ? (0, 0, 0, 0.....0, 0 )
On a donc une caméra positionnée en l'origine qui regarde vers l'origine. La direction et le sens du regard (vecteurDirection - vecteurPosition ) donnent le sens de déplacement de la caméra.
Or un vecteur nul n'a ni direction ni sens, donc pas très utile pour un déplacement.
Ceci est un premier problème ; car la caméra ce déplace désormais (après modification) mais sur l'image, rien ne semble changer (seul l'objet camera donne de bons résultats via les printf...)
Je n'ai malheureusement pas trouvé...
A++
Chouchou
|
|
vendredi 23 juillet 2004 à 19:26:10 |
Re : pb avec la gestion de camera !

AmK
|
ben non regarde dans main.h et tu verras que j'ai passé des paramètres au constructeur ! voila sinon j'ai trouvé l'origine du pb , le constructeur de camera était appelé trois fois , comme le montraient les printf ! et donc en virant l'héritage , apparement le constructeur n'est appelé que deux fois ! maintenant j'ai un autre pb avec gluLookAt les valeurs changent mais ...... aucune influence sur la sphere :(
|
|
samedi 24 juillet 2004 à 16:49:29 |
Re : pb avec la gestion de camera !

AmK
|
lol en fait c'est evident avant avec l'héritage le constructeur par defaut de camera était appellé via l constructeur de vecteur ! enfin bref , c'était la cause du pb !
|
|
lundi 26 juillet 2004 à 13:05:15 |
Re : pb avec la gestion de camera !

Chouchou182
|
Hello
A quoi sert PushMatrix ? A placer la caméra en l'origine du repère...
Rajoute gh_Camera.placerCamera(); apres le glPushMatrix et ça marche !!
A++
Chouchou
|
|
mardi 27 juillet 2004 à 13:17:37 |
Re : pb avec la gestion de camera !

AmK
|
ça ne marche toujours pas :( bref je suis obligé de passer les varPos dans le glTranslate !
|
|
vendredi 30 juillet 2004 à 03:05:16 |
Re : pb avec la gestion de camera !

xarier
|
salut Amk-->He cher ami je v voir ca demain est posé une sources de la gestion de camera complete avec opengl :D aller @+ Life is Short 
|
|
vendredi 30 juillet 2004 à 10:42:40 |
Re : pb avec la gestion de camera !

Chouchou182
|
Salut
J'ai effectivement écrit une grosse bétise. glPushMatrix() ne modifie pas la matrice active.
Pourtant les modifications que j'ai apportées, à savoir le constructeur par défaut et un nouvel appel à gluLookAt() ont fait marcher l'application. C'est pourquoi j'ai voulu expliquer le pourquoi de la réussite.
Or mon explication était erronée mais mes modifications fonctionnaient (et je ne sais toujours pas pourquoi).
Personnellement je n'utilise pas gluLookAt() mais une composition de translations et rotations (ce qui revient au final au même) mais ainsi je sais quelles transformations j'applique à ma scène.
J'ai vu ta correction et je pense que tes calculs pour récupérer Z et faire une translation supplémentaire ne doivent pas être. Imagine quand ta caméra bougera dans les trois coordonnées de l'espace.
Une petite amélioration : remplace if(scaled==0) scaled=1; else if(scaled==1) scaled=0;
par : scaled = 1 - scaled ;
Un petit exemple en C aui gère une caméra
#include <GL/glut.h> #include <stdio.h> #pragma comment (lib, "opengl32") #pragma comment (lib, "glut32")
struct Camera { float x, y, z ; } camera ;
static float spin = 0.0f ;
void ComputeCamera() { glTranslatef(camera.x, camera.y, camera.z) ; }
void display(void) { glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity() ; ComputeCamera() ; glRotatef(spin, 0.0f, 1.0f, 0.0f) ; glutWireSphere(1.0f, 20, 16) ; glFlush (); }
void init (void) { glClearColor (0.0, 0.0, 0.0, 0.0); glEnable(GL_DEPTH_TEST) ; glColor3f(1.0f, 0.0f, 0.0f) ; camera.x = 0.0f ; camera.y = 0.0f ; camera.z = -10.0f ; }
void Reshape(int w, int h) { glViewport(0, 0, w, h) ; glMatrixMode(GL_PROJECTION) ; glLoadIdentity() ; glFrustum(-1.0f, 1.0f, -1.0f, 1.0f, 1.0f, 10.0f) ; glMatrixMode(GL_MODELVIEW) ; }
void keybord(unsigned char key, int i, int j ) { switch ( key ) { case 27: exit(0) ; break ; case 'R': case 'r': spin+=10.0f ; break ; case 'x': camera.x += 1.0f ; break ; case 'X': camera.x -= 1.0f ; break ; case 'y': camera.y += 1.0f ; break ; case 'Y': camera.y -= 1.0f ; break ; case 'z': camera.z += 1.0f ; break ; case 'Z': camera.z -= 1.0f ; break ; } printf("x : %3.1f, y : %3.1f, z : %3.1f\n", camera.x, camera.y, camera.z) ; glutPostRedisplay() ; }
int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); glutInitWindowSize (250, 250); glutInitWindowPosition (100, 100); glutCreateWindow ("hello"); init (); glutDisplayFunc(display); glutReshapeFunc(Reshape) ; glutKeyboardFunc(keybord) ; glutMainLoop(); return 0; }
|
|
Cette discussion est classée dans : pb, gestion, camera, voir
Répondre à ce message
Sujets en rapport avec ce message
gestion camera [ par chucky_666 ]
Voila mon pb :je modelise un terrain 3D et g fixe une camera au dessus avec gluLookAt().Je me sert de la souris pour effectuer des rotation de la came
qui peut m'aider a resoudre un pb sur la gestion des pipes [ par vitocor ]
voici le sujetecrire un prog en C qui simule la commande ls-l/wc-l à l'aide de 2 processus.merci pour votre aidebye
Pb de gestion de nom des joueur [ par sebclick ]
Slt,je debute en c++....je suis en train de créer un petit jeu de pendu....pour vous quel est la meilleure façon pour récuperer le nom des joueurs, sa
pb de gestion de browser pour selectionner un chemin [ par bebel6 ]
Re Bonjour, g encore un tit truc à demander, désolé je suis pas fort aujourd'hui ( prkoi je dis aujourd'hui ??? lol )je cherche simplement à ouvrir un
pb de camera [ par mauvaisdawa ]
je suis sur un projet de simulation d'helicoptère. j'ai un probleme concernant mes caméras. celle du dessus, ya aucun probleme, mais celle de derrière
Gestion des collisions [ par DarklordBioopo ]
Bonjour, Je voudrais savoir comment faire pour avoir une gestion des collisions avec des boites englobantes.Pour le moment mon jeu ne gere les collisi
pb de config de VC++ 6 pour des fichiers unicodes [ par BionicSniper194 ]
Salut a tous,un pot m'a recement passer un de ses code, et j'ai voulu l'utiliser mais au moment de la compilation j'ai un message du type :"XXXXXX.h
pb avec glReadPixels pas de capture [ par breton51 ]
bonjourje debute e c++ et j'ai un petit pb pour faire une capture d'ecran j'utilise glReadPixels qui est sencer me retourner le tableau de pixel "data
pb frame ( wxWidet) [ par kyript ]
Bonjour a tousj'ai donc un gros soucisexplication:Lors du lancement du programme, je lit dans un fichier .txt et j'insere le text "IP, Port" dans 2
Livres en rapport
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|