Сообщений: 122
Тем: 23
Зарегистрирован: Jun 2018
Репутация:
0
08-26-2018, 01:23 PM
(Сообщение последний раз редактировалось: 10-06-2018, 05:46 PM FireRun.)
Не могу разобраться как работают текстурные слоты и для чего они нужны, например MaterialLoadTextureEx, подскажите?)
Сообщений: 165
Тем: 14
Зарегистрирован: Feb 2025
Репутация:
0
Текстурные слоты нужны для добавления нескольких текстур материалу, обычно это нужно в параметрах шейдеров 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);
Пустая строка означает, что для чтения текстуры используется материал, к которому присоединен шейдер.
Сообщений: 122
Тем: 23
Зарегистрирован: Jun 2018
Репутация:
0
А если у одной модели несколько текстур, их все можно загрузить с помощью слотов?
Сообщений: 122
Тем: 23
Зарегистрирован: Jun 2018
Репутация:
0
Да и загрузка модели как мне кажется не до конца реализована, при загрузки меша видны артефакты, даже если модель выглядит идеально собранной,приблизив, видны лишние треугольники висящие где-то рядом с моделью