Deux petites questions [3D] - Programmation
Marsh Posté le 04-04-2002 à 11:45:43
mieux: un seul appel
a la fonction avec un strip de triangles indexes
si tu as du mal a stripifier tes formes
tu as une librairie sur le site de nVidia par ex.
A+
LEGREG
Marsh Posté le 04-04-2002 à 13:06:04
ah oui, j'oubliais :
tu peux regrouper plusieurs appels
a trianglestrip en utilisant
des triangles degeneres
(un surcout d'un ou deux triangles
negligeable si tu as de longues
chaines de triangles strips a tracer)
A+
LEGREG
Marsh Posté le 04-04-2002 à 22:43:53
legreg a écrit a écrit : mieux: un seul appel a la fonction avec un strip de triangles indexes |
Heuh... Comment peut-on ne faire qu'un seul appel? Je ne pourrais jamais créer un seul strip de plusieurs objets, il faudra bien arreter à un moment le strip courant. Ou alors existe-t-il une fonction dans D3D qui permet de spécifier un flag STOP et de recommencer un autre strip?
Marsh Posté le 04-04-2002 à 23:35:32
franchement ca n'a pas grande importance
si tu as plusieurs milliers de triangles
par objet, le mieux c'est d'utiliser
des strips indexés (optimises) et peu importe de faire
un plusieurs appels a drawprimitive.
Un ou quelques appels ca ne changera pas grand
chose a tes fps, sauf si tu as enormement
d'appels a faire sur des objets qui partage
le meme materiel (systeme de particules).
Tu as d'autres optimisations plus interessantes
a faire, je crois.
Sinon, je te rappelle que pour unir deux strips
tu peux utiliser des triangles degeneres
c'est a dire des triangles lineaires
qui n'apparaitront pas a l'ecran.
(ils risquent d'apparaitre en version fil
de fer)
A+
LEGREG
Marsh Posté le 05-04-2002 à 14:14:57
vi, mais bon l'interêt de faire qu'un seul strip, c que tu réduis les dépendances CPU et que ton donc plus d'avoir des perfs proportionnelles à la carte 3d (si tu as strips courts, le cpu risque de "brider", d'un point de vue parrallélisme entre le traitement du strip précédent par le gpu, et le passage du suivant au driver par le cpu)
Marsh Posté le 04-04-2002 à 11:15:17
1. Surement une question bête, mais vaut-il mieux afficher plusieurs objets utilisant le même matérial en utilisant qu'un seul appel à la fonction d'affichage avec une liste de tous les triangles, ou en appelant plusieurs fois la fonction d'affichage avec des strips de triangles?
Je pense qu'il vaut mieux les strips, mais peut-être que le temps de mettre en route la machine à chaque appel de fonction d'affichage pourrait être plus long que l'envois de tous les triangles.
2. Suite à la lecture du très intéressant livre Real-Time Rendering, je me suis dis que le light mapping pourrait me servir beaucoup dans mon exportateur de scènes statiques. Le seul petit problème c'est que je n'ai aucune idée de comment mettre ça en place... Donc si vous connaissez des liens sur la chose, pourriez-vous me les donner car à part un article sur le site de nVidia j'ai encore rien trouvé qui concerne la pratique.
Merci