IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

OpenGL: problème de sélection


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 5
    Par défaut OpenGL: problème de sélection
    Bonjour,
    j'ai une application de jeu de dame chinoise 3D développé en C++ et en utilisant les fonctions OpenGL.

    Le problème c'est que sous Windows Vista et linux Ubuntu je ne peux pas sélectionner toutes les billes or avec le même exécutable sous Windows XP tout se déroule normalement !!

    par analogie a cette image, je ne peux sélectionner que les billes bleus, verts et jaunes.

    Fichiers attachés Fichiers attachés

  2. #2
    Membre extrêmement actif

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 408
    Par défaut
    windows 7 x64, ça a l'air de bien fonctionner aussi, bizarre

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 119
    Billets dans le blog
    148
    Par défaut
    Bonsoir,

    Premièrement, qu'elle est la méthode picking.
    Deuxièmement, qu'elle sont les problèmes réel? Peut on remarquer un cas particulier ( bordure de la fenêtre ...) pour ce bug ?.

    Troisièmement, ne serais ce pas à cause du redimensionnage de la fenêtre ?

    Utilisez vous SDL?

    Ah et oui, pour votre débugguage, vous devriez affiché les valeurs de la position du clique pour voir le bug rapidement.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 5
    Par défaut
    Bonsoir,
    je n'utilise pas de la SDL dans ce projet, je n'utilise que de l'OpenGl (glut).
    voici le code de la fonction de picking:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    Node *PickNode(int X, int Y)
    {
    	GLuint SelectBuffer[512];
    	GLint SelectHits;
    	GLint Viewport[4];
     
    	glGetIntegerv(GL_VIEWPORT, Viewport);
     
    	glMatrixMode(GL_PROJECTION);
    	glPushMatrix();
    	glLoadIdentity();
    	gluPickMatrix(GLdouble(X), GLdouble(Viewport[3] - Y), 3, 3, Viewport);
    	gluPerspective(60.f, GLfloat(Viewport[2]) / GLfloat(Viewport[3]), 1.f, 1000.f);
     
    	glMatrixMode(GL_MODELVIEW);
    	glPushMatrix();
    	glLoadIdentity();
    	glTranslatef(0.f, 0.f, Zoom);
    	glRotatef(Xrot, 1.f, 0.f, 0.f);
    	glRotatef(Yrot, 0.f, 1.f, 0.f);
    	glRotatef(Zrot, 0.f, 0.f, 1.f);
     
    	glSelectBuffer(512, SelectBuffer);
    	(void)glRenderMode(GL_SELECT);
     
    	glInitNames();
    	glPushName(-1);
     
    	RenderGameBoard(GL_SELECT);
     
    	glFlush();
    	glPopMatrix();
    	glMatrixMode(GL_PROJECTION);
    	glPopMatrix();
    	glMatrixMode(GL_MODELVIEW);
     
    	SelectHits = glRenderMode(GL_RENDER);
     
    	int i;
    	GLuint *HitData = SelectBuffer;
    	GLuint NumNames;
    //	GLfloat Zmin, Zmax;
    	Node *N = 0;
     
    	for(i = 0; i < SelectHits; i++)
    	{
    		NumNames = *HitData++;
     
    //		Zmin = *HitData++ / 0x7FFFFFFF;
    //		Zmax = *HitData++ / 0x7FFFFFFF;
     
    		HitData += NumNames + 2 - 1;
     
    		N = GameBoard + *HitData++;
    	}
     
    	return(N);
    }
    Tout le projet est dans le fichier chiche.rar ci-joint.
    Sous windows XP, y aucun problème, une exécution normale !! mais c'est sous windows vista et linux, je ne peux sélectionner ou déplacer que les billes de la partie superieur de la planche de jeu.
    je ne sais pas ce qu'il faut changer, ajouter des macros peut-etre .. ché pas !!

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 119
    Billets dans le blog
    148
    Par défaut
    Et si vous cliquez à coté des billes ça marche sous linux ?

    Comme je l'ai dit, le meilleur conseille, c'est d'afficher les valeurs que vous avez, dans une console, vous allez vite le choper le bug
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. [picking] problème de sélection en openGL
    Par nice.girl1983 dans le forum OpenGL
    Réponses: 0
    Dernier message: 29/08/2011, 16h27
  2. Réponses: 10
    Dernier message: 08/06/2009, 11h30
  3. Problème de sélection sous IE
    Par titisite dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 27/12/2004, 14h05
  4. [OpenGL] Problème de Vitesse d'éxécution
    Par stick059 dans le forum OpenGL
    Réponses: 9
    Dernier message: 19/11/2004, 13h57
  5. [CR] Problème de sélection sur un champ date
    Par noluc dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 21/11/2003, 16h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo