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 :

Draw object with round sides (convex and concave)


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Par défaut Draw object with round sides (convex and concave)
    Hi,
    I try to draw this image but it seems unsuccessfully.
    I searched on the internet but I found just how to draw objects that
    have square sides. I have to draw round sides. I tried to combine
    scaled cube with torus to make round sides but this didn't work very
    well. Also I tried with vertex but I had stucked with the
    coordinates. If somebody has any idea, please help me.

    Thank you in advance.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Par défaut
    Or how to display just a part from an object, for example 3/4 from a torus ?

  3. #3
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 528
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 528
    Par défaut
    Citation Envoyé par romulusro Voir le message
    but I found just how to draw objects that
    have square sides. I have to draw round sides. I
    Hello Romulus
    1-Here it's a French speaking forum ; you must express yourself in French
    2-In 3d design, the simpliest elements are primitives like lines and triangle lists.

    This is the shortest element with vertices and faces
    ( check Open GL help and documentation ).
    A triangle list or a line is the only element a 3d acceleration card knows to draw and how to map a texture on it..

    The 3d card doesn't know actually how to draw shapes like torus..
    You have to use the combinations of squares sides.


    this is Direct3d help ; Open GL is very similar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    A 3D primitive is a collection of vertices that form a single 3D entity. 
    The simplest primitive is a collection of points in a 3D coordinate system, which is called a point list.
     
    Often, 3D primitives are polygons.
     
    A polygon is a closed 3D figure delineated by at least three vertices. 
     
    The simplest polygon is a triangle.
     
    Microsoft Direct3D uses triangles to compose most of its polygons because all three vertices in a triangle are guaranteed to be coplanar. Rendering nonplanar vertices is inefficient.
     
    You can combine triangles to form large, complex polygons and meshes.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Par défaut
    Merci pour ton reponse.
    Je vais essayer avec triangles, j'ai pensee qu'il y a une methode plus facile .

    J'ai encore une question. J'ai essayé aussi de dessinner quelque lignes, la probleme et que on ne marche pas de changer les couleur. Je n'utilise pas les texture pour activer et desactiver ca. J'ai essayé de commenter tout les instruction glColor3f pour voir les resultats, aussi j'ai essayé de changer la place de cette instruction mais la couleur de lignes ou de polygons ne veut pas changer. C'est bizarre.
    As tu une idée comment je peut changer ca ?
    Merci.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Par défaut
    et pour dessiner une complet torus j'utilisé la instruction glutSolidTorus et ca marche.
    (OpenGL avec GLUT lib)

  6. #6
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    Salut romulusro,

    pour dessiner des objets complexes, comme celui que tu veux afficher, tu peux aussi les modéliser avec un modeleur 3D comme Maya, 3D Studio, Blender...
    Ensuite tu sauvegardes le fichier et tu lis la geometrie dans ton programme OpenGL pour pouvoir l'afficher.

    Cherche "Loader 3DS" par exemple, il y a des tas d'exemples sur le net.

    Pour des objest complexes c la meilleure méthode je pense. C'est pas mal de boulot a mettre en place mais une fois que c fait tu peux charger n'importe quel modele très rapidement. C'est beaucoup plus efficace que de calculer les coordonnées de tes vertices "à la main".

    Sinon pour ton problème de couleur: utilises-tu l'éclairage? Si oui il faut:
    - Soit utiliser glMaterial et non glColorxx
    - Soit utiliser glColorxx, mais après avoir appelé (juste une fois) glEnable(GL_COLOR_MATERIAL) auparavant.

    Bonne chance!

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/04/2009, 14h07
  2. Réponses: 1
    Dernier message: 27/10/2008, 17h08
  3. Réponses: 2
    Dernier message: 27/07/2007, 09h21

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