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

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

Спасибо


person jmasterx    schedule 09.07.2010    source источник


Ответы (1)


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

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

person Dean Harding    schedule 09.07.2010