Précédent   Forum des professionnels en informatique > Applications > Développement 2D, 3D et Jeux > API graphiques > DirectX
DirectX Forum d'entraide sur le développement avec DirectX. Avant de poster -> FAQ DirectX
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/07/2011, 15h53   #1
Invité régulier
 
Homme Quentin Ventura
Inscription : juin 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Quentin Ventura
Localisation : Canada

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2011
Messages : 30
Points : 8
Points : 8
Par défaut Mesh et topologie

Bonjour à tous,

Une question simple, mais comme je trouve pas de réponse à ma question, je pense qu'y'a quelque chose que j'ai pas du comprendre ...

Voila, je suis en train de créer un Mesh représentant une sphère (une fonction pour générer cette sphère plutôt) et je me pose la question, quelle topologie est utilisée ?

J'utilise un buffer de vertex et un d'indice ... Est ce que le fait d'utiliser des indices induit obligatoirement un certain type de typologie ?

Dans ce cas c'est forcement "TriangleList" ?

Merci d'avance
qventura est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 17h01   #2
Membre actif
 
Homme
Ingénieur applications 3D temps réel
Inscription : août 2010
Messages : 57
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 25
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur applications 3D temps réel
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 57
Points : 176
Points : 176
Le fait d'utiliser tel ou tel représentation de données n'est pas sensé modifier la topologie de ton maillage.

Si des sommets 1, 2 et 3 sont voisins et forment un triangle, tu peux les stocker comme tu veux, ils resteront toujours voisins.

Après tu as plusieurs représentations de données qui te permettent d'avoir accès plus ou moins facilement à certaines données topologiques (voisinage sommet-sommet, appartenance arête-face,...)

Ce cours à l'air de bien résumer la chose (Structures de données, Slide 18 - 25):

http://www710.univ-lyon1.fr/~sbrande...ts/03-mesh.pdf

En espérant avoir compris ta question et n'avoir pas répondu à coté
r0ots est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2011, 20h35   #3
Membre Expert
 
Inscription : février 2006
Messages : 1 393
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 1 393
Points : 2 057
Points : 2 057
le tableau d'indices dépend de ta topologie et ta topologie dépend de ton tableau d'indices.

il faut donc que les 2 soient utilisés de manière cohérente.
stardeath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2011, 01h36   #4
Invité régulier
 
Homme Quentin Ventura
Inscription : juin 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Quentin Ventura
Localisation : Canada

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2011
Messages : 30
Points : 8
Points : 8
Je suis d'accord Stardeath, c'est bien ça le problème

J'utilise SlimDX, et je spécifie pas de topologie pour mon (ma ?) mesh ... Et quand je dessine mon mesh, il prend pas en compte la topologie comme je l'utilise habituellement :/

Code :
1
2
3
4
5
6
7
8
            gpuDevice.InputAssembler.SetInputLayout(layout);
            gpuDevice.InputAssembler.SetPrimitiveTopology(PrimitiveTopology.LineList);
 
            for (int p = 0; p < technique.Description.PassCount; p++)
            {
                pass.Apply();
                sphere.DrawSubset(0);
            }
Par exemple, avec ce type de code, ça me dessine des triangles, alors que le même code (a part la ligne sphere.drawSubset) mais en utilisant deux buffer au lieux d'un mesh, il me dessine bien des lignes ...

Et dans la classe Mesh de SlimDX, pas moyen de spécifier un type de topologie

@r0ots j'ai feuilleté les diapos, mais c'est pas vraiment ce qui me fait défaut la (je crois ...) Par Topologie, j'entends la manière dont le device va gérer les vertex / indices que je lui envoie ... La pour le moment je considère que c'est des TriangleList mais ça semble pas fonctionne comme je le voudrai :/
qventura est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2011, 10h40   #5
Membre Expert
 
Inscription : février 2006
Messages : 1 393
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 1 393
Points : 2 057
Points : 2 057
la classe Mesh de slimdx doit prendre en charge l'intialisation du pipeline, donc de la topologie, si tu veux des flags spécifiques, il faut que tu récupères les buffers de ton mesh sphère, et que tu les dessines toi même.
stardeath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 01h55   #6
Membre Expert
 
Homme Eric Dureuil
Développeur informatique
Inscription : avril 2011
Messages : 853
Détails du profil
Informations personnelles :
Nom : Homme Eric Dureuil
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 853
Points : 1 332
Points : 1 332
salut,

tu as forcément une topologie de création de ta mesh mais qui peut être différente de celles de parcourt ensuite...

c'est tout l'intérêt d'avoir un vertex buffer et un ou plusieurs index buffer qui peuvent pointer vers lui

tu peux d'ailleurs faire des opérations comme l'élimination de doublons dans ta mesh grâce à l'index buffer. ce qui peut améliorer considérablement les performances...

__________________
Eric Dureuil, développeur web, c/c++, java indépendant
soyons
pensez à mettre et
ericd69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h09.


 
 
 
 
Partenaires

Hébergement Web