Singe-Gobelin
|
Sage-Goblin
25 Jul 2018
Bon je connais pas DirectX 11, mais je travail avec OpenGL depuis de nombreuses années, et la philosophie des 2 API est la même, donc je peux te répondre. Quand tu utilises une API bas niveau comme DX ou GL, généralement il faut réduire au maximum tes draw call, car c'est une fonction qui coûte cher, donc la meilleur idée est d'utiliser un VBO, mais ça c'est le cas idéal, la réalité impose que tu travailles généralement avec plusieurs VBO, l'idée est d'arranger tes vertex pour réduire au minimum tes VBO. Pour ça t'as plusieurs façon de faire, soit tu arranges tes vertex de manière "interleaved", c'est-a-dire chaque case mémoire représente un vertex offseter par ses attributs (généralement coordonnes | normal | textures, ainsi de suite). Dans l'ordre du meilleur au moins bon : interleaved -> packed -> vbo par attributs. Décris un peu la topologie de ton ensemble afin d'en savoir un peu plus. La 150 millions de vertex ça me semble un peu gros, mais j'ai déjà vu ça sur de très très gros assemblages avec beaucoup de part, dans un logiciel de CAO. Est-ce un seul et unique mesh, ou bien, plusieurs sous-mesh ? |