#1 2018-08-26 13:23:10

FireRun
Разработчик Xtreme3D
Из Казахстана
Зарегистрирован: 2018-06-11
Сообщений: 132
Сайт

Текстурные слоты (Решено)

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

Редактировался FireRun (2018-10-06 17:46:56)


Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor

Offline

#2 2018-08-26 18:50:11

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 163
Сайт

Re: Текстурные слоты (Решено)

Текстурные слоты нужны для добавления нескольких текстур материалу, обычно это нужно в параметрах шейдеров 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);

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

Offline

#3 2018-08-26 18:54:12

FireRun
Разработчик Xtreme3D
Из Казахстана
Зарегистрирован: 2018-06-11
Сообщений: 132
Сайт

Re: Текстурные слоты (Решено)

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


Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor

Offline

#4 2018-08-26 19:11:23

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 163
Сайт

Re: Текстурные слоты (Решено)

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

Offline

#5 2018-08-26 23:40:29

FireRun
Разработчик Xtreme3D
Из Казахстана
Зарегистрирован: 2018-06-11
Сообщений: 132
Сайт

Re: Текстурные слоты (Решено)

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


Программист,Художник
музыкальный продюсер (FIRERUN): https://soundcloud.com/djfirerun
Xtreme3D Editor (Xtreme3D с графическим интерфейсом): https://vk.com/x3deditor

Offline

Подвал доски

Под управлением FluxBB