Почему Direct3D не имеет своей собственной структуры вершины?

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

Спасибо

5
задан codekaizen 9 July 2010 в 03:43
поделиться

1 ответ

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

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

8
ответ дан 14 December 2019 в 04:29
поделиться