Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1187 connectés 

  FORUM HardWare.fr
  Programmation

  [Direct3D] Besoin de quelques conseils d'utilisateurs aguerris

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Direct3D] Besoin de quelques conseils d'utilisateurs aguerris

n°65260
n0mad
inscrit au XXe siècle
Posté le 15-10-2001 à 16:09:21  profilanswer
 

Salut,
je débute dans l'API DirectX et mon but de renderiser une scène 3D décrite ci dessous. C'est typiquement un jeu de plateforme style Civilisation. Actuellement je suis un peu perdu dans l'API et je me pose des questions sur quelle méthode est plus optimisée que telle autre.
 
* entre 1000 & 10000 objets dans la scène mais maxi une dizaine de type différents
* entre 100 & 1000 facettes par objet
* une centaine d'objets vus en même temps dans la fenêtre de rendu
* Textures dynamiques (fct de propriétés de l'objet)
* objets stockés en .X (invariants) (une dizaine)
* fenêtré
* rendu temps réel (10 fps min)
 
Voila mes questions :
 
D3DXMatrixPerspectiveFovLH pour fixer le ratio Y/X d'un pixel : est-ce la seule méthode ?
 
IDirect3DDevice8::ProcessVertices : SI j'ai bien compris, cette optimisation ne sert à rien si la camera bouge tout le temps ?
 
Vertex Buffer : est-ce vraiment plus rapide que DrawPrimitiveUP ?
 
Comment je peux optimiser mes vertex buffer pour eviter d'avoir à faire des copies à chaque rendu ?
Faut il que j'utilise les buffer d'index ?
Les ProgressiveMesh offrent ils une bonne optimisation ?
 
Mon but n'est pas de faire un moteur ultra optimisé (vu qu'il y a maxi 1 MTri/sec) mais plutôt évolutif.
 
Merci par avance pour toute réponse même partielle.


---------------
Pipiru piru piru pipiru pi
mood
Publicité
Posté le 15-10-2001 à 16:09:21  profilanswer
 

n°65262
youdontcar​e
Posté le 15-10-2001 à 16:19:55  profilanswer
 

* d3dx ... non, tu peux gérer la matrice de proj toi-même, il suffit de multiplier les coeffs de la ligne x ou y par ce que tu veux.
 
* processvertices est à ne jamais utiliser (sauf si tu sais ce que tu fais :D), car la transformation est faite en soft.
 
* les vertex buffers sont toujours plus rapides qu'un DrawPrimitiveUP() : avec un drawprimitive(), les appels sont batchés, donc la fonction copie ta zone mémoire pour ensuite la balancer à la carte. avec un vb, c'est dx (hard ou soft) qui possède la mémoire, jamais de recopie. si tu as une carte t&l, les vbs sont stockés sur la carte vidéo (dans la limite de la mémoire). un DrawPrimitiveVB() ne fait que dire à la carte "render tel vb", plutôt que de copier les données.
 
* optimiser tes VBS ? si ce sont des objets statiques, tu les initiliases une bonne fois pour toutes et tu n'y touches plus. s'ils sont dynamiques, tu les créés avec les bons flags (_writeonly & co), tu les lockes, tu écris tes nouvelles données, tu unlockes.
 
* buffers d'index = même topo que drawprimitive up / vb. pas beaucoup de cartes le gèrent en hard, mais ça évite la recopie quoiqu'il arrive.
 
* progressive mesh = ça dépend. lis un peu la littérature sur le sujet, comme les slides du mec qui a fait planetside (je sais plus où c'est), ça te renseignera bien. dans certains cas il est préférable d'avoir 2-3 modèles à des niveaux de détail fixes car les cartes modernes bourrent bourrent bourrent. le progressive mesh est toujours fait en soft. tu ne peux voire le bon équilibre qu'en testant.

n°65264
youdontcar​e
Posté le 15-10-2001 à 16:21:57  profilanswer
 

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Direct3D] Besoin de quelques conseils d'utilisateurs aguerris

 

Sujets relatifs
j'ai besoin de 2 fichier de Sql Server 2000 , vite mes bases sont HS[DirectX] Hier soir je me suis mis à Direct3D...
besoin d'aide[PRO VB/VC++] Besoin d'aide concernant l'OCX MS WebBrowser (Print...)
j'ai besoin de vous pour une histoire d'amourUrgent : besoin d'aide sur un code simple de c++
Delphi: Besoin d'aide !Besoin d'aide pour lancer une commande
g besoin d' un minuscule prog en c++ URGENT A L' AIDEEEEEEEEEBESOIN D'AIDE EN ALGO
Plus de sujets relatifs à : [Direct3D] Besoin de quelques conseils d'utilisateurs aguerris


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR