08-26-2018, 06:50 PM
Текстурные слоты нужны для добавления нескольких текстур материалу, обычно это нужно в параметрах шейдеров 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);
Пустая строка означает, что для чтения текстуры используется материал, к которому присоединен шейдер.
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);
Пустая строка означает, что для чтения текстуры используется материал, к которому присоединен шейдер.