Разработка шейдера

From Valve Developer Community
< Ru
Revision as of 00:16, 7 June 2022 by Soyka (talk | contribs)
Jump to navigation Jump to search
English (en)Русский (ru)中文 (zh)Translate (Translate)

Template:Warning:ru

Введение

Этот документ описывает как создавать шейдеры в Source SDK, для дополнительной информации о том что такое шейдер и как он может быть использоваться смотрите Шейдер.

Каждый материал который используется в Source указывется какой шейдр используется для отображения. Шейдр содержит логику и уравнения который обрабатывает изображение и свет и производит конечное отображение цвета для каждого пикселя для которого используется шейдр.

Source SDK полностью поддерживает Microsoft DirectX HLSL (High Level Shading Language) и шейдерный ассемблер языки для записи шейдеров. Рекомендуется использовать HLSL везде где это возможно и прибегать к написанию на ассемблере только при крайней необходимости.

Начало

Существует несколько внешних утилит требуемых для компиляции шейдеров используемых в Source SDK, следующие секции утачняют инструменты и предоставят ссылки для их загрузки с короткой инструкцией для их установки и использования.

Используемые утилиты: Perl, DirectX SDK и nmake, следующий процесс в общем требует только однажды выполнить до того как компиляция шейдеров начнется.

Установка Perl и DirectX

Чтобы установить Perl, идите на страницу загруки на сайте https://www.perl.com , загрузите, и установите Perl - рекомендуемая версия Perl для windows это ActivePerl.

Чтобы установить последний DirectX SDK, перейдите на сайт Microsoft's DirectX, загрузите, и установите DirectX SDK. Убедитесь что у вас последнея версия SDK, если предыдущая версия установлена, удалите её и загрузите последнею версию.

Template:Note:ru

Копирование файлов

С установленным Perl и DirectX SDK, скопируйте требуемые исполнимые файлы для того чтобы инструменты компиляции SDK могли использовать их. Таблица ниже представляет что Perl установлен в C:\Perl, DirectX в C:\DXSDK, и директория исходных кодов mod'а C:\MyMod\src.

Template:Note:ru

Исходный файл Директория назначения
C:\Perl\bin\perl.exe C:\MyMod\src\devtools\bin
C:\Perl\bin\perl58.dll C:\MyMod\src\devtools\bin
C:\DXSDK\Utilities\fxc.exe C:\MyMod\src\dx9sdk\Utilities
C:\DXSDK\Utilities\psa.exe C:\MyMod\src\dx9sdk\Utilities
C:\DXSDK\Utilities\vsa.exe C:\MyMod\src\dx9sdk\Utilities

Для дополнительной информации

Вы можете получить больше информации о HLSL и программирование шейдеров на ассемблере в MSDN документацие.

Здесь много документов описывающих как система материалов работает, они находятся в секции Система материалов документации Source SDK.