begin process at 2012 05 27 17:45:27
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

OpenGL

 > UN PETIT PROGRAMME POUR VOIR COMMENT FAIRE POUR SAVOIR SUR QUOI EST LA SOURIS EN OPENGL

UN PETIT PROGRAMME POUR VOIR COMMENT FAIRE POUR SAVOIR SUR QUOI EST LA SOURIS EN OPENGL


 Information sur la source

Note :
Aucune note
Catégorie :OpenGL Niveau :Initié Date de création :25/01/2004 Vu / téléchargé :3 338 / 342

Auteur : Trident

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Hello,

Aprés mon Cube, je vous présente ce code, qui permet de simplifier l'accés à : 'la connaissance de la partie du dessin 3d qui est sous la souris'

J'ai pas trop pousser mais l'idée y est, deux rectangle qui se chevoche portant deux numéro, la fenétre dos par derriére (merci glut) qui donne les rectangle sur lesquels on a cliqué.

J'en dit pas plus, si vous avez des questions, c'est pas dur, je lis les remarques ;o)


Trident,
Assé content de ses re-début en c++,
Mais faut réviser les partiels quand même.


 Conclusion

Ce n'est qu'une sorte de mini tutorial, pour avoir l'idée de base, il faudra construire tout le systéme qui explote cette option de OpenGl (peut-étre pour mon petit grand projet)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • glut.dllTélécharger ce fichier [Réservé aux membres club]154 624 octets
  • glut32.dllTélécharger ce fichier [Réservé aux membres club]237 568 octets
  • main.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier4 001 octets
  • Makefile.winTélécharger ce fichier [Réservé aux membres club]820 octets
  • Projet2.devTélécharger ce fichier [Réservé aux membres club]858 octets
  • Projet2.exeTélécharger ce fichier [Réservé aux membres club]103 538 octets
  • Projet2.layoutTélécharger ce fichier [Réservé aux membres club]110 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip PYRAMINX 3D MULTITAILLE PAS FINI FINI
Source avec Zip Source avec une capture MAISONMONDE OPENGL
Source avec Zip PUISSANCE 4 MODE CONSOLE AVEC IA MINMAX
Source avec Zip LE STENCIL BUFFER DE OPENGL
Source avec Zip BUMP MAPPING OPENGL

 Sources de la même categorie

Source avec Zip Source avec une capture AFFICHER DES COURBES DE BEZIER par shorzy
Source avec Zip Source avec une capture BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR U... par envi33
Source avec Zip Source avec une capture CLASSE AVEC OPENGL - OBJETS 3D ET ANIMATIONS par rasta63
Source avec Zip Source avec une capture LETTRES 3D AVEC OPENGL ET QT par opossum_farceur
Source avec Zip CUBE 3D GLUT32 VC++ ET DEVC++ par bobby03

Commentaires et avis

Commentaire de Kirua le 25/01/2004 00:26:34

ai lu ton code, et je trouve regrettable de devoir envoyer deux fois les commandes de vertexes (une fois pr le SELECT et une fois pr le dessin), t certain qu'il y a pas une autre manière plus élégante ? ça me gêne un peu ce genre de trucs :-(

Commentaire de Trident le 25/01/2004 12:35:47

Le probleme c'est effectivement que l'on fait deux fois le dessin (on  peut utiliser les liste d'OpenGl), peut-étre qu'en utilisant deux sortie graphique (HC ou DC ??) une pour la fenétre l'autre pour le buffer de selection .... enfin, faut lire les spécification d'OpenGL.... mais je crois pas qu'on puisse.
Je pense toute fois que la méthode ne coupe pas en deux le frame-rate (en select : pas de texture à charger, pas de lumiére, mais juste si oui ou non les polygones sont affichable), puis on est pas obliger de faire du 50-50, un select pour dix tracé peux suffire, ou alors un select que si il y a eu click ou mouvement de la souris.
Aussi, on est pas obliger de faire des dessins détaillé pour le select, si le prog prévois différent nivo de détail on fait le select en low.....

Commentaire de basted le 26/01/2004 18:13:04

Bon, c'est toujours utils un example de picking ok. Effectivement il faut 2 passe: un pour le rendu, l'autre pour le picking (qui est effectivement plus light en calcul si on retire dans cette passe les truc inutiles)

Une question sur lequel je me suis casse pas mal le dent sans vraiment parvenir a une reponse: quel est la distance separant la position de la souris (supposée en coordonée {x,y,0}) a celle du point de la survace pointer ?

Le zDepth du picking donne n'import quoi (enfin, j'ai l'impression qu'il est just la pour ordonancer l'ensemble des survaces sous la souris), mais quel est la vrai distance Z entre la souris et la surface ?

Voila si tu repond a ca, non seulement tu aura 10/10 (depuis le temp que je cherche!) et en plus ... toute mon admiration, voila !

Commentaire de Trident le 26/01/2004 18:39:29

hihi,
Dans le buffer la distance donné est multiplié pas 0xffffffff (voir doc opengl) donc tu divize le Z par 0xffffffff et tu passe les cordonnée de la souris et ce résultat dans la matrice inverse, ca te donne la position du point cliquer dans l'espace du dessin.

la ref:
Depth values (which are in the range [0,1]) are multiplied by 2^32 - 1, before being placed in the hit record.

sur la page : http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/selectbuffer.html

G pas le code sous la main mais je me rappel l'avoir fait et ca marché trop bien (j'ai cher 3h mon point rouge sur le plan blanc ... je le voyais pas il était sous la souris .... k con), je rentre chez mes parents mercredi matin, je pourrais peut étre vous envoyer le dit code a ce moment là (si je ne sky pas).


Juste une question ... trés conne je présume
j'ai créé une classe abstraite Objet avec la fonction virutel dessin et une classe derivée cube avec la meme fonction dessin mais plus abstraite, je me donne une liste d'objet et qd je demande de faire le dessin des objets de la dite liste, j'ai un jolie bug.... si qqun peu m'expliquer ... enfin, c po grave sinon.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales