Я пишу небольшую графическую программу, используя directx9, которая импортирует некоторые файлы моделей, созданные с помощью блендера, из файлов .x. Все идет нормально.
У моделей есть материалы с текстурами, и получить имена текстур и правильно отобразить объекты просто, однако я хотел бы использовать разные файлы эффектов (шейдеров) для некоторых материалов, но я не могу найти способ встроить информацию о том, какой шейдер использовать в модели в .x файле.
Лучшая идея, которая у меня была, состояла в том, чтобы посмотреть на имя файла текстуры в моем приложении d3d9 и жестко запрограммировать таблицу поиска имени текстуры для файла эффекта. Но это не кажется элегантным, а также означает, что мне придется копировать и переименовывать текстуры только для того, чтобы использовать одну и ту же текстуру с разными шейдерами.
Я чувствую, что мне не хватает более простого способа сделать это, какие-либо предложения?