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

GLUT Discussion :

Tracé de segments


Sujet :

GLUT

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2014
    Messages : 96
    Points : 51
    Points
    51
    Par défaut Tracé de segments
    Bonsoir, étant débutant en infographie, je cherche avec OpenGL à placer des points quelconques et tracés le segment si et seulement si le polygone est convexe. Merci pour vos futur conseils.

    Merci de votre compréhension.

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 311
    Points : 545
    Points
    545
    Par défaut
    Un polygone est convexe si, et seulement si, les angles entre chaque segment consécutif sont inferieur a 180°
    Le problème de cette définition est le terme consécutif cela implique d’itérer sur chaque sommets de ton polygone, or OpenGL traite les sommets de manière parallèles.
    Tu ne pourras donc pas vérifier que ton polygone est convexe lors de la phase de traçage, d’ailleurs cela serait débile, car il est préférable de déterminer si ton polygone est convexe avant de lancer le traçage. Donc l’API OpenGL ne te sera d’aucune utilité sur ce point-là !

    Pour tracer le contour d’un polygone avec OpenGL, tu devras tous d’abord créer une zone mémoire en VRAM contenant tous tes sommets (que l’on appelle VertexBuffer ou VBO), pour cela tu devras définir tous les attributs qui composent un sommet (par exemple ces coordonnées polaires : rho et theta)
    Ensuite définir le code du VertexShader, celui-ci doit contenir toutes les opérations géométriques à effectuer sur un sommet, tu recevras en entrée un de tes sommets de ton VBO et tu dois déterminer, en sortie, la position cartésienne dans le repère orthogonale de la zone de rendus, ou l’origine de ce repère se trouve au centre de la zone de rendu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    attribute float rho;
    attribute float theta;
     
    void main(void) 
    {
    	gl_Position.x = rho * cos(radians (theta));
    	gl_Position.y = rho * sin(radians (theta)); 
    }
    Tu devras également créer une deuxième zone mémoire en VRAM contenant la séquence des indices sur ton VBO décrivant le contour de ton polygone (que l’on appelle IBO )
    Et pour finir un PixelShader, qui détermine la couleur de chaque pixel lors du traçage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void main(void) 
    {
    		          /* R   G   B   A   */
    	gl_FragColor = vec4(0.0,0.0,1.0,1.0);
    }
    Ainsi que la fonction DrawPolygon en OpenGL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void DrawPolygon(GLuint VBO,GLuint IBO, int vertexCount)
    {
    	if(Convexe(VBO, IBO, vertexCount))
    	{
    		glBindBuffer(GL_ARRAY_BUFFER, VBO);
    		glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, IBO);
    		glDrawElements(GL_LINE_LOOP, vertexCount, GL_UNSIGNED_INT, 0);
    	}
    }
    ShaderElement : Bénéficier de l’accélération graphique simplement par une nouvelle balise HTML <shader>
    ODE.js : portage JavaScript du célèbre moteur physique 3D Open Dynamics Engine

Discussions similaires

  1. tracé de segments sur une grille
    Par nouriy dans le forum MATLAB
    Réponses: 17
    Dernier message: 02/10/2014, 12h11
  2. Réponses: 0
    Dernier message: 12/05/2011, 21h53
  3. Tracé de segment dans Tkinter
    Par annoying dans le forum Tkinter
    Réponses: 3
    Dernier message: 07/05/2011, 20h30
  4. tracé de segments - graphicage
    Par gaston64 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/01/2010, 22h21
  5. [Débutant] [plot] Segments de graphique manquant sur certains tracés
    Par pouquito dans le forum MATLAB
    Réponses: 2
    Dernier message: 03/11/2009, 06h51

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