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

From Valve Developer Community
Jump to: navigation, search
English (en)русский (ru)
... Icon-Important.png
Info content.png
This translated page needs to be updated.

You can help by updating the translation.

Also, please make sure the article tries to comply with the alternate languages guide.
Warning.pngWarning:Последнее обновление SDK (Август 2006) пока не включает обновленные примеры шейдеров и поэтому часть информации может быть неправильна для текущего SDK.

Введение

Этот документ описывает как создавать шейдеры в 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, если предыдущая версия установлена, удалите её и загрузите последнею версию.

Note.pngNote:Только имея установленный DirectX 9.x это не достаточно, DirectX SDK должен быть установлен!

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

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

Note.pngNote:Замените имена директорий на ваши.
Исходный файл Директория назначения
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.