Разработка шейдера
You can help by updating the translation.
Also, please make sure the article tries to comply with the alternate languages guide.Contents
Введение
Этот документ описывает как создавать шейдеры в 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, если предыдущая версия установлена, удалите её и загрузите последнею версию.
DirectX SDK
должен быть установлен!Копирование файлов
С установленным Perl и DirectX SDK, скопируйте требуемые исполнимые файлы для того чтобы инструменты компиляции SDK могли использовать их. Таблица ниже представляет что Perl установлен в C:\Perl
, DirectX в C:\DXSDK
, и директория исходных кодов mod'а C:\MyMod\src
.
Исходный файл | Директория назначения |
---|---|
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.