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 :

Une vue qui affiche mon modèle entier ?


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 32
    Par défaut Une vue qui affiche mon modèle entier ?
    J'ai vu ce FAQs: How can I automatically calculate a view that displays my entire model?
    http://www.opengl.org/resources/faq/...al/viewing.htm

    Mais ce code n'a pas fonctioné (pour moi), Est-ce que quelqu'un sait où est l'erreur sur mon code ? Je ne vois pas de chose sur l'écran avec ce code.

    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
    void Viewer::initGLES(){
    	glClearColor(0.f ,1.0f, 1.0f, 1.f);
    	glDisable(GL_DEPTH_TEST);
    	float diam = 1500;
    	float zNear = 1.3f;
    	float zFar = zNear + diam;
     
    	int cx = 0, cy = 0, cz = 0;
     
    	float left = cx - diam;
    	float right = cx + diam;
    	float bottom = cy - diam;
    	float top = cy + diam;
     
    	glMatrixMode(GL_PROJECTION);
    	glLoadIdentity();
     
    	float aspect = iScreenWidth / iScreenHeight; // 240 x 320
     
    	if ( aspect < 1.0 ) { // window taller than wide
    		bottom /= aspect;
    		top /= aspect;
    	} else {
    		left *= aspect;
    		right *= aspect;
    	}	
     
    	//glOrtho(left, right, bottom, top, zNear, zFar);
    	glOrthof(left, right, bottom, top, zNear, zFar);
    	glMatrixMode(GL_MODELVIEW);
    	glLoadIdentity();
     
    	//gluLookAt(0., 0., 2.*diam, cx, cy, cz, 0.0, 1.0, 0.0);
    }
    //------------------------------------
    void Viewer::drawFP(){
    	glClear(GL_COLOR_BUFFER_BIT);
    	glLoadIdentity();
    	glEnableClientState(GL_VERTEX_ARRAY);
    	//glTranslatef            (0,0,-5.f);
     
    	glColor4f(0,1,0,1);
     
    	static const GLfloat vertices[3 * 3] =
    	{
    	     -1000,    1000,    0,
    	      1000,   -1000,    0,
    	      1000,    1000,    0
    	};
     
    	glVertexPointer( 3, GL_FLOAT, 0, vertices );
     
    	glDrawArrays( GL_LINES, 0, 3);
    }

    Merci à tous,

  2. #2
    Membre éprouvé
    Inscrit en
    Juin 2008
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 162
    Par défaut
    t'as essayé de mettre
    gluLookAt(0., 0., 2.*diam, cx, cy, cz, 0.0, 1.0, 0.0);
    juste avant
    glDrawArrays( GL_LINES, 0, 3);
    ??

    pour commenser trace en mode GL_TRIANGLES au moin tu verra si le triangle est la
    puisqu'avec les dimension 1000 s'il est affiché mais que tu est trop proche tu le verra pas

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 32
    Par défaut
    Citation Envoyé par goast Voir le message
    t'as essayé de mettre
    gluLookAt(0., 0., 2.*diam, cx, cy, cz, 0.0, 1.0, 0.0);
    juste avant
    glDrawArrays( GL_LINES, 0, 3);
    ??
    La même chose, je ne vois rien!

    Citation Envoyé par goast Voir le message
    pour commenser trace en mode GL_TRIANGLES au moin tu verra si le triangle est la
    puisqu'avec les dimension 1000 s'il est affiché mais que tu est trop proche tu le verra pas
    La même chose (avec GL_TRIANGLES), je ne vois rien!

  4. #4
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 580
    Par défaut
    déjà tu effaces ton écran avec la couleur verte ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    void Viewer::initGLES(){
    	glClearColor(0.f ,1.0f, 1.0f, 1.f);
    et ensuite tu essaies de dessiner en vert
    une ligne avec... 3 sommets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glDrawArrays( GL_LINES, 0, 3);
    à part ça, après l'appel à drawFP, tu fais bien un swapbuffer (si tu es en double buffer) ?
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  5. #5
    Membre éprouvé
    Inscrit en
    Juin 2008
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 162
    Par défaut
    glClearColor(0.f ,1.0f, 1.0f, 1.f);

    C'est pas du vert ca

  6. #6
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 580
    Par défaut
    Citation Envoyé par goast et igala.net
    glClearColor(0.f ,1.0f, 1.0f, 1.f);

    C'est pas du vert ca
    en plus ils s'y mettent à 2 quand je dis des conneries

    sinon il est où ton gluLookAt dans ta boucle d'affichage ?
    dans ton premier post, il est en commentaire, tu l'as sorti de la fonction ?
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 32
    Par défaut
    Citation Envoyé par shenron666 Voir le message
    en plus ils s'y mettent à 2 quand je dis des conneries

    sinon il est où ton gluLookAt dans ta boucle d'affichage ?
    dans ton premier post, il est en commentaire, tu l'as sorti de la fonction ?
    J'ai essayé avec gluLookAt et sans gluLookAt, le même résulta!

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 32
    Par défaut
    Citation Envoyé par shenron666 Voir le message
    déjà tu effaces ton écran avec la couleur verte ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    void Viewer::initGLES(){
    	glClearColor(0.f ,1.0f, 1.0f, 1.f);
    et ensuite tu essaies de dessiner en vert
    goast: C'est pas du vert ca

    Citation Envoyé par shenron666 Voir le message
    une ligne avec... 3 sommets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    glDrawArrays( GL_LINES, 0, 3);
    bon, tu peut essayer avec glDrawArrays( GL_LINE_STRIP, 0, 3);
    La même résultat!


    Citation Envoyé par shenron666 Voir le message
    à part ça, après l'appel à drawFP, tu fais bien un swapbuffer (si tu es en double buffer) ?
    bien sûr!

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/06/2008, 11h06
  2. une servlet qui affiche un lien
    Par samia13 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 29/04/2007, 04h23
  3. Réponses: 1
    Dernier message: 18/04/2007, 13h39
  4. [VBA-E] une macro qui enregistre mon fichier Excel
    Par Djohn dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/03/2007, 11h47
  5. voir comment est alimentée une vue qui est dans dba_objects
    Par meufeu dans le forum Administration
    Réponses: 15
    Dernier message: 06/10/2004, 17h27

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