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 :

colorer carte geo openGL C++


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 175
    Par défaut colorer carte geo openGL C++
    bonsoir
    j'ai dessiner la carte geographique de mon pays avec openGL sous visualstudion10
    j'ai utilisé principalement les fonctions suivantes :
    celle ci pour les courbes :


    Code C++ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    glEnable(GL_MAP1_VERTEX_3); 
    	GLfloat ctrlpoints[4][3] =
    	{{ 406, 19, 0.0}, { 413, 17, 0.0},
    	{ 418, 13, 0.0}, { 422, 13, 0.0}};
    	glMap1f(GL_MAP1_VERTEX_3, 0.0, 1.0, 3, 4, &ctrlpoints[0][0]);
    	glBegin(GL_LINE_STRIP);
    	int n = 60 ;
    	for (int i = 0; i <= n; i++)
        glEvalCoord1f((GLfloat) i/((float)n));
    	glEnd();


    et celle ci pour les droites

    Code C++ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    glBegin(GL_LINES);
    	glVertex2f( 406, 19);
    	glVertex2f( 385,77);
    	glEnd();


    et ca marché
    alors je veux colorer la carte,
    pour par la suite faire una animation avec
    mais puisqu'elle n'est pas un polygome ou triangle ou ...
    je sais pas comment
    sachant que les courbes et les droites sont attaché et fermé

    si vous avez une idéé

    merci

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 150
    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 150
    Billets dans le blog
    150
    Par défaut
    Bonjour,

    Vous pouvez tenter de placer des glColor3f() dans le for de ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for (int i = 0; i <= n; i++)    
     glEvalCoord1f((GLfloat) i/((float)n));
    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.

  3. #3
    Membre très actif
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 175
    Par défaut
    merci pour l'intervention

    non ca colore juste les courbes et les lignes
    moi je veux colorer la surface qui est entouré par ces lignes et courbes

    j'ai une idéé mais je sais pas est ce qu'elle est realisable :
    est ce que je peux utiliser les points de ces lignes et courbes pour definir un polygome
    mais le probleme c'est d'apres ce que je sais c'est que le polygone relie les points seulement avec des lignes mais pas de courbes
    alors qu'est ce que vous en dites

    merci

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 150
    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 150
    Billets dans le blog
    150
    Par défaut
    Oui, vous pouvez spécifier des points pour en faire des polygones (disons, des triangles ou rectangle).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    glBegin(GL_QUADS);
    glVertex(0,0,0);
    glVertex(0,1,0);
    glVertex(1,1,0);
    glVertex(1,0,0);
    glEnd();
    mais le problème c'est d’après ce que je sais c'est que le polygone relie les points seulement avec des lignes mais pas de courbes
    Non non, ça fait bien aussi des surfaces. Et les courbes sont juste un ensemble de petites lignes.
    Le problème est principalement la fonction glEvalCoord1f((GLfloat) i/((float)n));Qui ne permet pas une gestion précise pour les couleurs.
    Je vous propose de refaire l'interpolation entre les points de contrôle, vous même (cherchez "Bezier Surface" / "Quadric Bezier interpolation"). Ainsi vous aurez tout le contrôle que vous voulez
    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. coloration dynamique de carte
    Par ricardvince dans le forum Webdesign & Ergonomie
    Réponses: 4
    Dernier message: 03/08/2007, 11h43
  2. Faire des effets sur une carte (coloration de zones)
    Par breizhgen dans le forum Webdesign & Ergonomie
    Réponses: 9
    Dernier message: 12/03/2007, 16h07
  3. [Opengl] Problème d'affichage - carte graphique.. ?
    Par Akwel91 dans le forum OpenGL
    Réponses: 5
    Dernier message: 02/01/2007, 22h18
  4. OpenGL et les cartes multi-écrans
    Par jcs2 dans le forum OpenGL
    Réponses: 1
    Dernier message: 14/02/2006, 14h08
  5. Informations sur la carte graphique sans OpenGL ni DirectX !
    Par Hamdi Hedhili dans le forum Windows
    Réponses: 4
    Dernier message: 02/12/2005, 10h43

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