J'ai une question basique sur directx (im en utilisant d3d9), après avoir regardé quelques tutoriels je veux créer un programme 3d de base et je ne semble pas obtenir 1 chose. Ai-je besoin de copier les sommets/indices chaque fois que je veux dessiner un modèle dans 1 tampon de vertex? Ou puis-je charger plusieurs modèles dans un tampon de vertex/index? Ou ai-je besoin de créer plusieurs buffers de vertex/indices, chacun pour chaque modèle?Passant à directx vertex/indices buffers
0
A
Répondre
0
Vous êtes libre de faire ce que vous voulez, si vous regardez IDirect3DDevice9::DrawIndexedPrimitive
, vous trouverez BaseVertexIndex
et StartIndex
, il vous permet de décaler dans le tampon de sommet et l'index, oui, vous pouvez emballer plusieurs géométries dans le même tampon , cela est utile pour réduire le montant de l'appel à SetIndices
et SetStreamSource
. Si votre foulée de vertex change, vous devez toujours appeler le dernier avec un décalage d'octet et la nouvelle foulée. À moins que vous n'ayez affaire à la géométrie dynamique, vous copiez habituellement les données une seule fois dans vos mémoires tampons et vous les réutilisez à travers la trame.