begin process at 2012 05 30 04:51:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

system coordonne opengl/glut


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

system coordonne opengl/glut

mardi 22 février 2005 à 14:57:14 | system coordonne opengl/glut

gimli123

Salut tout le monde je suis en train de faire un petit jeu(tout du moins j'essai) et donc pour le menu je fais des boutons. Mais lorsque j'essai de faire en sorte que lorsque la souris se trouve sur un bouton il se passe quelque chose, je me rend compte que le system de coordonnée de GLUT et différent de celui de opengl ... Est-ce que vous avez une solution pour résoudre mon pb ?
@++++ tout le monde

Bonne prog et @++++
mardi 22 février 2005 à 20:11:55 | Re : system coordonne opengl/glut

luhtor

Ben, openGL c'est de la 3D, glut de la 2D, donc forcément c'est différent. Euh ce que tu veux faire est compliqué mais faisable.

J'ai pas trop le temps de détailler tout, et je suis plus certain que mon exemple marche. Mais va voir du coté de cette fonction.

gluUnProject( winX, winY, winZ, modelview, projection, viewport, &posX, &posY, &posZ);

En gros, ca permet de récupérer la valeur de la profondeur en lisant le Z buffer pour ensuite, à partir des coordonnées glut de la souris, les convertir en coordonnées openGL. Ya des tutoriels sur le net, notamment sur le site de nehe, qui en parle.

Voici le genre de fonction que l'on obtient, je suis pas certain que cette version marchait.

void mouse_pos_nehe(point &p)
    {
    GLint viewport[4];
    GLdouble modelview[16];
    GLdouble projection[16];
    POINT mouse;
    GetCursorPos(&mouse);
    GLfloat winX, winY, winZ;
    GLdouble posX, posY, posZ;
   
    glGetDoublev( GL_MODELVIEW_MATRIX, modelview );
    glGetDoublev( GL_PROJECTION_MATRIX, projection );
    glGetIntegerv( GL_VIEWPORT, viewport );

    winX = (float)mouse.x;
    winY = (float)mouse.y;
    winY = (float)viewport[3]-winY;
        
    glReadPixels( (int)winX, (int)winY, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &winZ );
    gluUnProject( winX, winY, winZ, modelview, projection, viewport, &posX, &posY, &posZ);
    p.x = (float)posX;
    p.y = (float)posY;
    p.z = (float)posZ;
    }

Bon courage.
A il y a peut etre une autre solution, essai de voir du coté du picking.
mardi 22 février 2005 à 23:09:44 | Re : system coordonne opengl/glut

gimli123


Salut, merci de ta réponse, mais je pense que la solution est beaucoup plus simple ! Car en réalité j'essai de faire un jeu en 2d et je viens de m'apercevoir que en faite les coordonnées de mes sprites ont pour origine leurs coins inférieurs gauche ors GLUT c'est le coins supérieur gauche ...
Merci quand même
Bonne prog et @++++


Cette discussion est classée dans : system, opengl, monde, glut, coordonne


Répondre à ce message

Sujets en rapport avec ce message

glut - openGL [ par loss ] Quels sont les fichiers necessaires pour utiliser glut(je compile avec VC++)?Ou est ce que je peux les telecharger?Merci d avance. 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 OpenGl, glut et Dev c++ 4 [ par fabienGL ] J'envoie un message car je passait au moin 3 heures sur le forums j'ai essayé tout ce ki à était di mé rien à faire ... j'utilise DEV C++ 4 et je sui OpenGl & glut avec Dev c++ 4 et WinXP [ par fabienGL ] J'envoie un message car je passait au moin 3 heures sur le forums j'ai essayé tout ce ki à était di mé rien à faire ... j'utilise DEV C++ 4 et j'ai Wi glut et opengl [ par MiTcH37 ] voila ce que j'ai lorsque je compile un prog avec du glut.h...C:\DOCUME~2\Mitch1\LOCALS~1\Temp\cc6Pbaaa.o(.text+0xcc):souris2.cpp: undefined reference opengl [ par MiTcH37 ] J'aimerais bien faire de l'opengl, mais ça marche pas... voila ce que j'ai lorsque je compile un prog avec du glut.h...C:\DOCUME~2\Mitch1\LOCALS~1\Tem devc++ [ par MiTcH37 ] qqun se sert de devc++ ?J'aimerais bien faire de l'opengl, mais ça marche pas... > > > > voila ce que j'ai lorsque je compile un prog avec du glut.h.. Pb Dev C++ 5 et OpenGl [ par guillaume21 ] J'ai installé glut avec Dev c++ 5. J'ai mis glut.h dans include, glut32.lib dans lib et le dll dans system32 (et mem ds lib lol).J'ai aussi ajouté les erreur de compile d une source opengl utilisant glut [ par kribler ] KR!Bl3Rg lerreur suivante qui s afffiche :LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16quelqun pourrai maidermerci d opengl.glut : gestion clavier [ par _Jonathan ] salut a tousvoila, j'arrive pas a utiliser la fonction glutSpecialUpFunc (chui sous devc++).glutSpecialFunc marche.Si kelkun pourrai m'expliker : ----


Nos sponsors


Sondage...

Comparez les prix

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,296 sec (4)

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