Я пытаюсь найти наилучший способ загрузки текстурированной 3D-модели в мое приложение webGL, но у меня возникли некоторые проблемы с этим. Мои 3D-модели имеют более 1 текстуры, и я не знаю, как сказать шейдеру, какую текстуру использовать для каждой вершины, поскольку эта информация, похоже, не включена в 3D-файлы, которые я изучал до сих пор.
Я приведу пример: я смоделировал деревянный стул с кожаным сиденьем / подушкой в Blender. В какой формат следует экспортировать кресло, чтобы его было легко и эффективно извлечь:
- положения вершин;
- информация о лицах / индексах, определяющая, какая вершина принадлежит каждой грани.
- УФ координаты;
- нормальные
- имя / расположение текстурных файлов.
- какую текстуру использовать для каждой вершины.
Я предполагаю, что, когда у меня есть пара vertex-textureID в моем JS, я мог бы передать ее шейдеру как атрибут (на основе каждой вершины), сообщив ему, какую текстуру использовать для этой конкретной вершины (используя drawElements для ее рисования) сразу) но я не знаю, как получить эту информацию для начала.
Все статьи, инструкции и руководства, которые я нашел в Интернете, загружают модели только с 1 текстурой. Я также заметил, что three.js, похоже, уже решил эту проблему, но я хотел, чтобы она работала напрямую с webGL, прежде чем переходить в одну из этих библиотек (например, three.js, glge, scene.sj, spiderGL и т. Д.). .
Любая помощь, ссылки или предложения будут наиболее ценными.