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] Petite question sur l'API


Sujet :

OpenGL

  1. #1
    Membre actif
    Avatar de Fabien Henon
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mars 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 151
    Points : 226
    Points
    226
    Par défaut [OpenGL] Petite question sur l'API
    Bonjour tout le monde, j'ai une simple petite question dont je suis presque sur de la reponse mais je voudrais une confirmation: Est-ce que OpenGL affiche les faces qu'on ne voit pas?

    Merci d'avance de votre reponse.
    Soft Creations - FirmLife

    Soft Creations: Blog de Fabien Henon et site de prestations de sites web et applications mobiles
    FirmLife: Le nouveau jeu de gestion d'entreprises en ligne

  2. #2
    Membre averti Avatar de Bob.Killer
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    336
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 336
    Points : 332
    Points
    332
    Par défaut
    qu'entend tu pas qu'on ne voit pas ? à coté de la fenêtre ? derrière d'autres faces ?

    si c'est a coté de la fenêtre opengl fait un clipping, si c'est pour les triangles caché par d'autres c'est le zbuffer qui s'en occupe
    Pensez aux tutoriels programmation : http://programmation.developpez.com/cours-tutoriels/

  3. #3
    Membre actif
    Avatar de Fabien Henon
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mars 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 151
    Points : 226
    Points
    226
    Par défaut
    En fait ma question etait plutot pour les faces cachees deriere d'autres, mais quand tu dis que le Z-Buffer s'en occupe, tu veux dire que c'est lui qui fait que le tout va etre bien affiche, mais en fait ce que je voudrais savoir c'est si malgre tout OpenGL a affiché la face (sauf qu'on ne peut pas la voir).

    Donc en fait si la reponse est oui, ca voudrait dire que il va afficher en premier la face censee etre cachee mais elle sera recouverte par une autre.

    Est-ce que c'est bien ce cas la?
    Soft Creations - FirmLife

    Soft Creations: Blog de Fabien Henon et site de prestations de sites web et applications mobiles
    FirmLife: Le nouveau jeu de gestion d'entreprises en ligne

  4. #4
    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 : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Voilà comment cela se passe au niveau de la carte graphique :
    - Ton triangle est transformé et illuminé
    - Ton triangle est clippé (on enlève tout ce qui dépasse de la zone de rendu)
    - Ton triangle est ajusté au viewport courant
    - Ton triangle est subdivisé en pixels
    - Tes pixels sont texturés
    - Tes pixels sont rejetés si le Z-buffer indique qu'ils sont masqués

    Voir http://jeux.developpez.com/faq/3d/?p...TIONS_pipeline

    Donc non, la face n'est pas affichée. Par contre elle subit 95% des étapes du pipeline pour rien.

  5. #5
    Membre actif
    Avatar de Fabien Henon
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mars 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 151
    Points : 226
    Points
    226
    Par défaut
    D'accord ce qui explique donc que les moteurs 3D fassent es modules supplementaires pour justement ne pas faire ces operations (c'est l'OctTree => dites mois si je me trompe).

    Mais par contre si notre face qui est devant une face cachee est a moitie transparentes, la OpenGL va quand meme afficher cette face cachee? (En calculant la couleur de la texture finale)


    Aussi j'ai une autre question, je suis en train de lire un tuto sur OpenGL et j'ai lu que quand on veut mettre une texture a une face il faut pour chaque vertex definir les coordonnees de la texture qu'on veut afficher, mais j'ai lu aussi qu'on ne pouvait pas changer de texture quand on est entre glBegin et glEnd, mais donc comment est-ce qu'on peut mettre une autre texture par dessus celle qu'on a mis sur la face (exemple: J'ai une texture de mur et quand le joueur appuie sur une touche il y a un tag qui se met sur le mur, donc une nouvelle texture qui doit venir se mettre au dessus)? Il faut incruster nous meme les 2 textures puis la mettre sur la face? Ou encore creer une autre face casiment collee au mur? , ... ?

    Merci d'avance
    Soft Creations - FirmLife

    Soft Creations: Blog de Fabien Henon et site de prestations de sites web et applications mobiles
    FirmLife: Le nouveau jeu de gestion d'entreprises en ligne

  6. #6
    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 : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Mais par contre si notre face qui est devant une face cachee est a moitie transparentes, la OpenGL va quand meme afficher cette face cachee? (En calculant la couleur de la texture finale)
    Seulement si tu affiches tes faces dans le bon ordre, car transparente ou pas ta face va écrire dans le Z-Buffer.
    Corollaire : toujours afficher les faces transparentes à la fin et triées par profondeur.

    Pour ta question concernant les textures, tu peux en appliquer plusieurs (en général jusqu'à 8) sur une même face, cela s'appelle le multi-texturing.

  7. #7
    Membre actif
    Avatar de Fabien Henon
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mars 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 151
    Points : 226
    Points
    226
    Par défaut
    D'accord merci pour ta reponse, je crois que je verrai le multi texturage plus loin des mes lectures de tutos
    Soft Creations - FirmLife

    Soft Creations: Blog de Fabien Henon et site de prestations de sites web et applications mobiles
    FirmLife: Le nouveau jeu de gestion d'entreprises en ligne

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Points : 432
    Points
    432
    Par défaut
    D'accord ce qui explique donc que les moteurs 3D fassent es modules supplementaires pour justement ne pas faire ces operations (c'est l'OctTree => dites mois si je me trompe).
    OpenGL ne gère aucun partionnement de l'espace , donc si on a 100 000 spheres dans notres scènes , qu'une seule sphère est devant la camera et que les 99999 sont derriere ou sur le coté de la camera , openGL va "envoyer" quand même tous les triangles des 100k spheres au pipeline de la carte graphique pour afficher seulement une sphère .

    Et si openGL implémente pas de partionnement de l'espace , c'est parcequ'il y en a pas qu'un seul de "parfait" mais plusieurs en fonction du type d'affichage recherché: interrieur , extérieur , en mouvement .

    C'est bien ca ?

Discussions similaires

  1. [C++] 2 petites questions sur l'API Windows
    Par Fabien Henon dans le forum Windows
    Réponses: 15
    Dernier message: 25/12/2007, 11h54
  2. [Visuel XP] Petite question sur le theme XP...
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 12
    Dernier message: 20/01/2005, 14h41
  3. petite question sur le composant IBX ...
    Par vbcasimir dans le forum Bases de données
    Réponses: 4
    Dernier message: 05/01/2005, 10h33
  4. Réponses: 3
    Dernier message: 08/12/2004, 13h58
  5. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 13h49

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