Material Effects PLG (Секция RW)
Материал из GTAModding.ru
Секция RenderWare |
Material Effects PLG |
0x0120 |
Material Effects PLG - секция, используемая в DFF-файлах как расширение секции Material. Данная секция позволяет "прицепить" к материалу такие эффекты, как отражения, бамп-маппинг, UV-анимация и другие.
Содержание |
Общее представление
В начале секции указан тип эффекта материала:
0 rpMATFXEFFECTNULL Без эффекта 1 rpMATFXEFFECTBUMPMAP Бамп-маппинг 2 rpMATFXEFFECTENVMAP Карта отражений 3 rpMATFXEFFECTBUMPENVMAP Бамп-маппинг+Карта отражений 4 rpMATFXEFFECTDUAL Двойное текстурирование 5 rpMATFXEFFECTUVTRANSFORM UV-трансформация 6 rpMATFXEFFECTDUALUVTRANSFORM Двойное текстурирование+UV-трансформация
Далее, описаны сами эффекты - для комбинируемых типов (rpMATFXEFFECTBUMPENVMAP, rpMATFXEFFECTDUALUVTRANSFORM) это будут 2 эффекта, для других эффектов во втором "слоте" записан дамми-эффект с типом rpMATFXEFFECTNULL. Таким образом, общую структуру можно представить так:
4b Тип эффекта материала (общий) ?b Эффект1 ?b Эффект2
Эффекты
Bump-маппинг
Эффект бамп-маппинга симулирует рельефную поверхность с помощью т.н. карты высот. В данном эффекте указываются 2 текстуры - первая подменяет основную текстуру материала, вторая используется как карта высот. При этом, первую текстуру для получения эффекта указывать не обязательно.4b Тип эффекта (1 - rpMATFXEFFECTBUMPMAP) 4b Интенсивность (float - оптимальное значение 1.0) 4b Наличие текстуры, которая подменяет основную (0/1) #if текстура присутствует (1) Texture (замена основной текстуры материала) #endif 4b Наличие текстуры, которая используется как карта высот (0/1) #if текстура присутствует (1) Texture (карта высот) #endif
Карта отражений
Эффект отражения симулирует отражение окружающей среды, используя карту отражений.
4b Тип эффекта (2 - rpMATFXEFFECTENVMAP) 4b Коэффициент отражений (float - оптимальное значение 1.0) 4b Параметр UseFrameBufferAlpha (0/1) 4b Наличие текстуры - карты отражений (0/1) #if текстура присутствует (1) Texture (карта отражений) #endif
Двойное текстурирование
Эффект двойного текстурирования даёт возможность смешивать 2 текстуры при рендере материала.4b Тип эффекта (4 - rpMATFXEFFECTDUAL) 4b Параметр смешивания источника 4b Параметр смешвания приемника 4b Наличие текстуры смешивания (0/1) #if текстура присутствует (1) Texture (текстура смешивания) #endif
Параметры смешивания:
rwBLENDNABLEND rwBLENDZERO (0, 0, 0, 0 ) rwBLENDONE (1, 1, 1, 1 ) rwBLENDSRCCOLOR (Rs, Gs, Bs, As ) rwBLENDINVSRCCOLOR (1-Rs, 1-Gs, 1-Bs, 1-As) rwBLENDSRCALPHA (As, As, As, As ) rwBLENDINVSRCALPHA (1-As, 1-As, 1-As, 1-As) rwBLENDDESTALPHA (Ad, Ad, Ad, Ad ) rwBLENDINVDESTALPHA (1-Ad, 1-Ad, 1-Ad, 1-Ad) rwBLENDDESTCOLOR (Rd, Gd, Bd, Ad ) rwBLENDINVDESTCOLOR (1-Rd, 1-Gd, 1-Bd, 1-Ad) rwBLENDSRCALPHASAT (f, f, f, 1 ) f = min (As, 1-Ad)
UV-трансформация
Данный эффект не содержит дополнительных параметров. В ту же очередь, он предусматривает наличие у материала расширения UV Animation.