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 es pour Symbian


Sujet :

OpenGL

  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 OpenGL es pour Symbian
    Bonjour à tous,

    Je suis débutant avec OpenGL / OpenGL ES. (Et je suis en train d’apprendre le français aussi )

    J’écris une application qui va prendre des donnés (x, y, z=0) d’une ville réelle (les valeurs peuvent être grandes) et puis tracer sur l’écran. Le système que j’utilise : Symbian S60 (9.1), OpenGL ES, Symbian C++.

    Je ne sais pas pourquoi ça ne marche pas. Je pense que la cause est que les valeurs x, y sont trop grosses. Voyez mon code ci-dessous :

    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
     
    void Viewer::drawScene(){
     
    	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
     
    	glViewport( 0, 0, iScreenWidth, iScreenHeight );
     
    	glMatrixMode( GL_PROJECTION );
    	glLoadMatrixf(MatrixPerspective);
    	glMatrixMode( GL_MODELVIEW );
    	glLoadIdentity();
    	glColor4f(0,1,0,1);
     
     
    	glEnableClientState ( GL_VERTEX_ARRAY );
     
    	int nbVertices = Loader->data->GetNBOfVertices();
    	GLfloat *vertices = Loader->data->GetVertices();
    	glVertexPointer( 3, GL_FLOAT, 0, vertices );
    	glDrawArrays( GL_LINE_STRIP, 0, nbVertices);
     
    	glDisableClientState(GL_VERTEX_ARRAY);
     
    }

    est ce que vous auriez une idée ?




    Quelques données, avec 25 vertices


    {x=1114.9, y=-781.}
    {x=965., y=-775.}
    {x=721., y=-765.}
    {x=712., y=-764.}
    {x=708., y=-761.}
    {x=656., y=-663.}
    {x=657., y=-606.}
    {x=657., y=-606.}
    {x=658., y=-597.}
    {x=664., y=-537.}
    {x=667., y=-530.}
    {x=708., y=-486.81}
    {x=742., y=-465.75}
    {x=762., y=-458.66}
    {x=778., y=-452.88}
    {x=781., y=-452.5}
    {x=794., y=-451.13}
    {x=811., y=-449.41}
    {x=835., y=-446.97}
    {x=891., y=-441.47}
    {x=1027.5, y=-448.5}
    {x=1123.9, y=-453.78}
    {x=1154.5, y=-530.}
    {x=1148.4, y=-661.}
    {x=1144.8, y=-690.}

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Ce serait sympa pour nous de préciser un peu ce qui ne fonctionne 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
    Salut,

    J'ai testé et je trouve que la valeur max de x et y est 1.

    Donc je dois diviser tous les valeur de x, y par maxX. Est-qu'il a une autre solution?

    merci,

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 228
    Par défaut
    Citation Envoyé par igala.net Voir le message
    Salut,
    J'ai testé et je trouve que la valeur max de x et y est 1.
    comment ça la valeur des max est 1 ?

  5. #5
    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 crischprolch Voir le message
    comment ça la valeur des max est 1 ?
    Parce que quand je trace le point (1, 1), je peux le voir. Mais je ne peux pas voir le point (2, 2)

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 228
    Par défaut
    ce serait un problème de cone de vision (frustum) qui est limité à -1 1 par défault ? Si c'est le cas, cela vient surement de ta matrice de projection (MatrixPerspective)

  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 crischprolch Voir le message
    ce serait un problème de cone de vision (frustum) qui est limité à -1 1 par défault ? Si c'est le cas, cela vient surement de ta matrice de projection (MatrixPerspective)
    Je ne comprends pas très bien. Peux-tu m'expliquer?

    merci

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 228
    Par défaut
    tu dois surement savoir qu'il faut definir le frustum (cone de vision) qui définit ce qui sera vu ou pas (tout ce qui est dans cette zone sera affiché ne gros). IL faut définir les plans near et far ainsi que l'angle de vision.

    Mais deux choses restent à éclaircir :

    - tu disais que z est toujours égale à 0 mais pour une ville (et dans l'orientation naturelle d'OpenGl), c'est y qui est à 0,
    - qu'est-ce qu'il y a dans ta matrice MatrixPerspective ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    glMatrixMode( GL_PROJECTION );
    glLoadMatrixf(MatrixPerspective);

  9. #9
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 568
    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 568
    Par défaut
    Citation Envoyé par crischprolch Voir le message
    - tu disais que z est toujours égale à 0 mais pour une ville (et dans l'orientation naturelle d'OpenGl), c'est y qui est à 0
    il n'y a pas d'orientation naturelle d'OpenGL
    tu orientes ta vue comme tu veux, tu peux te servir de X en axe vertical ou axe de profondeur si tu veux
    OpenGL ne t'impose pas de matrice de transformation
    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.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    228
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 228
    Par défaut
    Ce que j'entends par "orientation naturelle" est l'orientation par défaut qui est l'axe Z pour la profondeur (d'où la notion de depth buffer ou Z-buffer), l'axe Y pour la hauteur et enfin l'axe X pour la largeur. Mais je suis complètement d'accord avec toi sur le fait que rien n'est imposé

  11. #11
    Membre Expert
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 568
    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 568
    Par défaut
    Citation Envoyé par crischprolch Voir le message
    Ce que j'entends par "orientation naturelle" est l'orientation par défaut qui est l'axe Z pour la profondeur (d'où la notion de depth buffer ou Z-buffer), l'axe Y pour la hauteur et enfin l'axe X pour la largeur. Mais je suis complètement d'accord avec toi sur le fait que rien n'est imposé
    je comprend ce que tu veux dire, mais j'insiste bien sur le fait qu'il n'y a pas d'orientation par défaut dans OpenGL, et je doute fortement que beaucoup le sachent
    quand au terme "Z-buffer", c'est un abus de langage
    d'ailleurs dans OpenGL c'est "Depth 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.

  12. #12
    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
    ça marche maitenant.
    Il y a une faute dans les paramètres de la fonction glFrustumf.
    Merci à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Delphi pour Symbian
    Par helmis dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 13/07/2014, 18h44
  2. OpenGL: problème pour incorporer des textures
    Par milena dans le forum OpenGL
    Réponses: 5
    Dernier message: 23/03/2008, 17h16
  3. Développement de programme pour symbian
    Par piff62 dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 01/11/2006, 09h23
  4. [SOURCE][SDL][OPENGL]Singleton pour gérer le fenêtrage
    Par shenron666 dans le forum Contribuez
    Réponses: 26
    Dernier message: 24/08/2006, 11h01

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