Почему у Direct3D нет собственной структуры вершин? - PullRequest
5 голосов
/ 09 июля 2010

Мне всегда было интересно, почему мы всегда должны определять D3DVERTEX. Это потому, что Microsoft хочет предоставить возможность поместить это в класс и перегрузить операторы, или есть другая причина?

Спасибо

1 Ответ

8 голосов
/ 09 июля 2010

Это так, что вы можете использовать все, что удобно для вашего приложения.Если вам нужна нормаль как часть вашей вершины, вы можете иметь это.Если вам не нужен нормальный, то вы экономите 12 байтов на вершину.Если вам нужна информация о цвете, координаты текстуры, зеркальные параметры и т. Д., То вы решаете определять их или нет в зависимости от ваших конкретных потребностей.

Если бы Microsoft предоставила структуру "D3DVERTEX", у вас было бы 500разные версии, с разными комбинациями полей, или у вас будет одна огромная, включающая все возможные значения, убивающая вашу пропускную способность.

...