Xtreme3D Community
Текстурные слоты (Решено) - Версия для печати

+- Xtreme3D Community (https://xtreme3d.ru/forums)
+-- Форум Xtreme3D (https://xtreme3d.ru/forums/forumdisplay.php?fid=3)
+--- Форум Вопросы и ответы (https://xtreme3d.ru/forums/forumdisplay.php?fid=6)
+--- Темы: Текстурные слоты (Решено) (/showthread.php?tid=19)



Текстурные слоты (Решено) - FireRun - 08-26-2018

Не могу разобраться как работают текстурные слоты и для чего они нужны, например MaterialLoadTextureEx, подскажите?)


Текстурные слоты (Решено) - Gecko - 08-26-2018

Текстурные слоты нужны для добавления нескольких текстур материалу, обычно это нужно в параметрах шейдеров GLSL, где можно не указывать явно материал для чтения текстуры, а просто использовать текстуры в слотах. Таким образом, один и тот же шейдер будет работать с разными материалами, если у них загружены TextureEx в нужных слотах, что удобно - не нужно создавать свой шейдер для каждого материала.

MaterialCreate('material', 'diffuse.png'); // слот 0
MaterialLoadTextureEx('material', 'normal.png', 1);
MaterialLoadTextureEx('material', 'specmap.png', 2);

Можно использовать до 8 слотов.

В шейдер они передаются так:

GLSLShaderSetParameterTexture(diffuseParam, '', 0);
GLSLShaderSetParameterTexture(normalParam, '', 1);
GLSLShaderSetParameterTexture(specParam, '', 2);

Пустая строка означает, что для чтения текстуры используется материал, к которому присоединен шейдер.


Текстурные слоты (Решено) - FireRun - 08-26-2018

А если у одной модели несколько текстур, их все можно загрузить с помощью слотов?


Текстурные слоты (Решено) - Gecko - 08-26-2018

Если текстуры модели в разных материалах, то нет, они будут... в разных материалах Smile Если в одном, то загрузятся только максимум две текстуры (да и то не для всех форматов), потому что все загрузчики моделей в GLScene используют старую систему мультитекстурирования и не поддерживают TextureEx. Я даже не уверен, есть ли вообще встроенная поддержка более двух текстур в самих этих форматах. Разве что в FBX, но я еще не реализовал загрузку материалов и текстур из него.


Текстурные слоты (Решено) - FireRun - 08-26-2018

Да и загрузка модели как мне кажется не до конца реализована, при загрузки меша видны артефакты, даже если модель выглядит идеально собранной,приблизив, видны лишние треугольники висящие где-то рядом с моделью