Accueil > Forum > > > > Bouger la caméra avec la souris (fps)
Bouger la caméra avec la souris (fps)
vendredi 20 avril 2007 à 22:01:59 |
Bouger la caméra avec la souris (fps)

nisaloncaje
|
Bonjour, je souhaiterais que, lorsque que je bouge la souris, ma scène en OpenGL tourne de la même manière, comme dans un FPS. J'ai donc le code suivant dans la fonction main : glutDisplayFunc(display); glutKeyboardFunc(keyboard); glutPassiveMotionFunc(souris_passif); glutIdleFunc(core); glutMainLoop();
ma fonction souris_passif étant : void souris_passif(int x,int y){ float vitesse_souris=0.1f; angle_cam.x+=float(y-Y_ORG)*vitesse_souris; angle_cam.y+=float(x-X_ORG)*vitesse_souris; // On met les angles dans l'intervalle [0,360] if(angle_cam.x>=360.0) angle_cam.x-=360.0; if(angle_cam.y>=360.0) angle_cam.y-=360.0; if(angle_cam.x<0.0) angle_cam.x+=360.0; if(angle_cam.y<0.0) angle_cam.y+=360.0; // On repositionne le curseur de la souris SetCursorPos(X_ORG,Y_ORG); glutPostRedisplay(); //(J'ai essayé sans, ça ne change rien) } Le problème est le suivant : quand je lance mon programme j'ai le droit à un écran sans image
Que faire pour résoudre le problème
Merci d'avance
NC
|
|
vendredi 20 avril 2007 à 22:16:23 |
Re : Bouger la caméra avec la souris (fps)
|
vendredi 20 avril 2007 à 22:55:21 |
Re : Bouger la caméra avec la souris (fps)

nisaloncaje
|
oui : si je supprime passivemotionfunc (donc l'appel à la fonction), cela fonctionne.
|
|
samedi 21 avril 2007 à 10:47:00 |
Re : Bouger la caméra avec la souris (fps)

goast_tu
|
t'as essayé d'enlever completement le corps de cette fonction, juste
pour etre sur que c'est pas ton code de rotation qui marche mal? Trafic web gratuit!!!
|
|
samedi 21 avril 2007 à 12:03:26 |
Re : Bouger la caméra avec la souris (fps)

neodelphi
|
Tu utilises gluLookAt ? Que vois-tu exactement si tu retire passiveMotionFunc ? C'est peut-être un problème dans les transformations matricielles ?
neodelphi
|
|
samedi 21 avril 2007 à 15:45:39 |
Re : Bouger la caméra avec la souris (fps)

nisaloncaje
|
si je supprime le corps de la fonction, tout est normal.
et j'utilise ceci pour positionner la caméra (à vrai dire je n'ai jamais bien compris la structure de glulookat) : glLoadIdentity(); glRotatef(angle_cam.x,1.0,0.0,0.0); glRotatef(angle_cam.y,0.0,1.0,0.0); glRotatef(angle_cam.z,0.0,0.0,1.0); glTranslatef(pos_cam.x,pos_cam.y,pos_cam.z); glScalef(1.5,1.5,1.5); glPushMatrix();
Mais ce qui est bizarre, c'est que l'écran est vide quand la fonction a le corps. En effet, c'est comme s'il n'y avait jamais dans le programme de demande d'affichage.
|
|
mercredi 19 mars 2008 à 11:47:22 |
Re : Bouger la caméra avec la souris (fps)

Grizou0
|
Problème de déplacement avec la caméra: void camera() { Form1->UpX = -sin(Form1->latitude)*sin(Form1->longitude); Form1->UpY = cos(Form1->latitude); Form1->UpZ = -sin(Form1->latitude)*cos(Form1->longitude);
Form1->OeilX = Form1->Vise*cos(Form1->latitude)*sin(Form1->longitude)+Form1->X; Form1->OeilY = Form1->Vise*sin(Form1->latitude)+Form1->Y; Form1->OeilZ = Form1->Vise*cos(Form1->latitude)*cos(Form1->longitude)+Form1->Z; Form1->UpX = -sin(Form1->latitude)*sin(Form1->longitude); Form1->UpY = cos(Form1->latitude); Form1->UpZ = -sin(Form1->latitude)*cos(Form1->longitude); // Déplacement caméra glLoadIdentity(); gluLookAt(Form1->X,Form1->Y,Form1->Z, Form1->OeilX,Form1->OeilY,Form1->OeilZ, Form1->UpX,Form1->UpY,Form1->UpZ); } Pour un déplacement par exemple en avance: void __fastcall TForm1::Avance() { Form1->X+=(Form1->OeilX-Form1->X)/(2*Form1->Vise); Form1->Z+=(Form1->OeilZ-Form1->Z)/(2*Form1->Vise); }
|
|
Cette discussion est classée dans : souris, cam, angle, fps, passif
Répondre à ce message
Sujets en rapport avec ce message
souris méchante !!! [ par vdox ]
Je voudrais savoir comment faire pour gérer la souris en faisant un programme simple en C .Il me faudrais juste un petit programme que je puisse mettr
code d'une souris en Vcpp [ par kinder ]
Hi!Je recherche le code pour piloter une souris (ou un autre périphérique à la con pour en faire un "intérrupteur" on/off), branchée sur le port série
Changer le curseur de souris... [BCB] :)) [ par CodeNeo ]
Hello tout le mondeJe sais que c'est idiot comme question mais bon...J'ai commencer un casse brique en DirectX et j'ai créer un curseur de souris...Co
Gestion de la souris OpenGL SANS GLUT [ par Xentor ]
Comment faire pour connaitre le déplacement de la souris sans utiliser Glut ? (Savoir si on la déplace en haut, à gauche, etc...) J'ai fait plusieurs
piloter une web cam [ par pipo ]
qqun sait il si l'on peu detecter facilement les webcams branche au pc comme on detecte les joystick avec directX ?puis les piloter ?manu
piloter une web cam [ par pipo ]
qqun sait il si l'on peu detecter facilement les webcams branche au pc comme on detecte les joystick avec directX ?puis les piloter ?manu
piloter une web cam [ par pipo ]
qqun sait il si l'on peu detecter facilement les webcams branche au pc comme on detecte les joystick avec directX ?puis les piloter ?manu
piloter une web cam [ par pipo ]
qqun sait il si l'on peu detecter facilement les webcams branche au pc comme on detecte les joystick avec directX ?puis les piloter ?manu
piloter une web cam [ par pipo ]
qqun sait il si l'on peu detecter facilement les webcams branche au pc comme on detecte les joystick avec directX ?puis les piloter ?manu
piloter une web cam [ par pipo ]
qqun sait il si l'on peu detecter facilement les webcams branche au pc comme on detecte les joystick avec directX ?puis les piloter ?manu
Livres en rapport
|
Derniers Blogs
PRATIQUE DE SILVERLIGHT PAR ERIC AMBROSIPRATIQUE DE SILVERLIGHT PAR ERIC AMBROSI par MPOWARE
Je viens de finir la lecture du dernier livre d'
Eric Ambrosi
éditions PEARSON
Son livre donne une approche pratique de Silverlight qui sera aussi bien comprise par le développeur que par le designeur.
Tous les aspects du développement RIA sont abor...
Cliquez pour lire la suite de l'article par MPOWARE APPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NETAPPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NET par odewit
2 déclinaisons de Silverlight et 2 déclinaisons de Mono permettent dorénavant (ou permettront prochainement) de développer des applications .NET mobiles pour les principales plates-formes du marché :
Silverlight pour Symbian, basé sur Silverlight 2...
Cliquez pour lire la suite de l'article par odewit ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2ZUNE : NOUVELLE VERSION DU ZUNE SOFTWARE - V 4.2 par ROMELARD Fabrice
Avec la dernière génération du lecteur MP3 de Microsoft, le ZUNE HD, Microsoft a publié une nouvelle version du logiciel pour PC. Ainsi, je me suis décidé à installer celle-ci sur mon Tablet PC ACER, comme toujours le logiciel est donc tél...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice L'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIESL'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIES par odewit
La tendance est aux interfaces naturelles (NUI), et le keynote de Bill Buxton au MIX l'a bien souligné.
La charte graphique et ergonomique de Windows Phone 7 a donc été entièrement repensée en vue d'obtenir un maximum d'efficacité sur ce point. En re...
Cliquez pour lire la suite de l'article par odewit
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|