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 :

Probleme de conception/technique


Sujet :

OpenGL

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 98
    Par défaut Probleme de conception/technique
    Salut à tous,

    Voila je désirais poser une question un peu je dirais pratique....

    Dans le moteur que je suis en train de réaliser, je vien de terminer (enfin façon de parler) la partie de base que je souhaitais avoir coté performances de bases.

    Et je suis donc en train de suivres les cours/tutos etc ... sur les lumières et les ombres et je me rend compte d'une chose dont je me doutais mais que j'avais un peu mis de coté c'est à dire que nous utilisons dans ces domaine les normales des sommets qui sont souvent une moyenne des normales aux plans adjacents.

    Le probleme qui se pose à moi c'est que dans mes modeles jusqu'à présent je chargais les sommet à la file pour chaque triangle quitte à les dupliquer s'ils appartenaient à plusieurs triangles, ensuite je donnes tout le tableau dans un buffer et s'il appartiens au champ de vue je l'affiche (certe cela manque un peu d'optimisation mais je pense que je poserais ces question par la suite :p)

    La question qui se pose à moi maintenant c'est comment faire pour connaitre tous les triangles auquel appartien le sommet de façon efficace ? ^o) parceque on pourrais simplement à chaque fois prendre le vertex et parcourir tous les triangles pour trouver lesquels le contiennent également mais c'est pas vraiment une solution qui me plait en terme de performance surtout qu'en suite pour mettre à jour une normale il faudrais ensuite la mettre à jour pour l'ensemble des redondance du sommet ......

    Donc voila je sais pas si mon probleme est tres clairement exposé mais si vous avez compris l'idée j'aimerais avoir vos avis

    Merci d'avance,
    Seb

  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
    Pas besoin d'aller chercher pour chaque sommet à quels triangles il appartient, tu peux garder un parcours linéaire. A chaque triangle tu calcules la normale, tu l'ajoutes à la normale de ses 3 sommets, et à la fin tu normalises toutes les normales.

    Ceci-dit, c'est mal de ne pas utiliser un rendu indicé.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 98
    Par défaut
    Certe je crois effectivement qu'un rendu indicé est en fait l'étape que je vais attaquer maintenant mais la question que je me pose en fait c'est que dans un fichier, les sommets sont dupliqués non ??? du coup il faut reconstituer soi même la liste c'est cela ???

    Et puis à y réfléchir les indices me permettrons de selectionner bcp plus facilement les parties à afficher de mes objets .......

  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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Ah oui, effectivement si à la base les sommets sont déjà dupliqués (je pensais que c'est toi qui le faisait), ça va être une autre histoire. Bon l'algo n'est pas compliqué, mais je pense que c'est inutile et qu'il vaut mieux que tu passes directement au rendu indicé.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 98
    Par défaut
    Salut,

    Bon j'ai enfin commencé à faire le systeme par indice il fonctionne plutot bien mais je me retrouve avec un inconvégnient qui apparrait même si cette technique me sera fort utile pour beaucoup de chose, pour le moment j'ai le probleme suivant :

    N'ayant chaque sommet qu'en un seul exemplaire, je n'ai également plus qu'une seule coordonnée de texture ce qui m'empèche d'utiliser le bout de texture que je souhaite ..... donc la je ne vois pas bien comment je pourrais faire sans perdre trop de puissance.... pour le moment j'utilise un array de la forme :
    { sommet, couleur, coordonneeTexture }

    et donc comme je ne duplique plus les sommets je n'ai qu'une coordonnee de texture ....

    Je vous remercie d'avance pour vos conseils !!!
    @+
    Seb

  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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Un sommet n'est pas qu'une position, s'il doit avoir deux coordonnées de textures différentes alors il doit y avoir deux sommets différents, même s'ils ont la même position.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 98
    Par défaut
    Oui mais alors on reboucle sur le même probleme.....
    Si on duplique les sommets et que l'on en utilise un pour un triangle, un autre pour l'autre triangle, au moment du calcul de la normale moyenne le premier triangle contribuera pour la première occurence de la position du sommet et le second pour la seconde occurence ... on n'aura donc pas la moyenne ....

    Ou alors peut-etre que la solution consiste à avoir deux structures de données l'une permettant de faire tous les calculs avec une methode pour la transformer sous une forme affichable efficacement ????

    Merci encore pour toutes tes réponses Laurent je réfléchis à tout ca parceque je suis entrain de suivre ton tutos sur l'occlusion culling et que donc j'ai maintenant besoin de calculer les normales moyenne des sommets

    @+
    Seb

  8. #8
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    d'un point de vue tableau de vertex, deux vertex sont egaux si :
    • les positions sont egales
    • les normales sont egales
    • les coordonnées de textures sont egales
    • les couleurs sont egales
    une fois qu'on sait ca, on peut très facilement gerer les duplication de vertex dans le tableau...
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

Discussions similaires

  1. problème de conception : cycle
    Par FarookFreeman dans le forum Diagrammes de Classes
    Réponses: 13
    Dernier message: 20/10/2005, 10h15
  2. Probleme de conception pour un update Oracle!
    Par vempiria dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/09/2005, 10h28
  3. [Language]Problème de conception
    Par lautre dans le forum Langage
    Réponses: 5
    Dernier message: 26/09/2005, 07h56
  4. [Evenement]Probleme de conception
    Par le Daoud dans le forum Interfaces Graphiques en Java
    Réponses: 5
    Dernier message: 26/05/2005, 14h12
  5. probleme de conception de classe
    Par NhyMbuS dans le forum C++
    Réponses: 2
    Dernier message: 08/05/2005, 17h10

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