Category:Шейдер

From Multi Theft Auto: Wiki
Jump to navigation Jump to search


Класс Shader представляет файл эффекта Microsoft HLSL Effect File (.fx), загруженный клиентом, который можно использовать вместо текстуры при вызове "dxDrawImage".

Тип элемента этого класса - "shader".

Как файлы HLSL Effect Files интегрируется в MTA:SA

[[{{{image}}}|link=|]] Примечание: На этой странице предполагается, что вы знаете, что такое файл эффектов и HLSL. Если нет, вам лучше сначала поискать информацию об этом.

Вы можете использовать этот шейдер тест-ресурс, чтобы попробовать приведённые ниже примеры. Скопируйте источник эффекта из полей кода в shadertest/clientshader.fx и (повторно) запустите "shadertest", чтобы увидеть результат.

После того, как вы всё это проделали (или, может быть, до, если взгляд ниже вызывает у вас панику), посетите ещё несколько примеров шейдерных ресурсов.

Методы

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

Click to expand [+]
Простой пример
Click to expand [+]
Сложный пример

Разное

Что следует помнить при переключении между редактированием файлов lua и .fx:

  • HLSL утверждения часто заканчиваются на ";" (точка с запятой)
  • HLSL индексы начинаются с 0 (где Lua обычно начинается с 1)
  • HLSL ошибки компиляции можно просмотреть, набрав "debugscript 3" в клиентской консоли.

Шейдеры для текстур мира

Вот несколько примеров шейдеров, которые можно использовать при замене текстур мира на engineApplyShaderToWorldTexture

Click to expand [+]
Простой пример
Click to expand [+]
Сложный пример
Click to expand [+]
Многопроходные шейдеры

This category currently contains no pages or media.