День добрый.
Вопрос даже не в том, что чаще используются в разных движках, а что по вашему мнению логичнее/удобнее:
1) Использовать стандартную декларацию вершин для всех загруженных мешей?
2) Корректировать декларацию( и вершины соответственно ), в соответствии с шейдером, который будет рисовать данный меш?
P.s. ибо часто вижу жестко обозначенное, типа:
Position
Texcoord
Normal
Tangent
Binormal
+ еще парочка для инстансинга
Добавляй/убирай потоки - связанные с нужными буферами данных перед DIP. В DXSDK - обещают производительность.
Декларируеш вертекс формат в зависимости от того, что нужно от меша для его отрисовки.
Потом индекс формата можно передать в шейдер, где он соответно декларирует правильнъе семантики и код, которъй етот вертекс будет читать.
Для оптимизации можно разбить на потоки, но конечно не все компонентъ, а примерно потом для шедоумепа + поток для всего остального.
Тема в архиве.