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

From Valve Developer Community
< Ru
Jump to: navigation, search
English (en)Русский (ru)Translate (Translate)
link =
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.pngПредупреждение:Последнее обновление SDK (Август 2006) пока не включает обновленные примеры шейдеров и поэтому часть информации может быть неправильна для текущего SDK.

Введение

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

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

Source SDK полностью поддерживает Microsoft DirectX HLSL(en) (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.pngПримечание:Только имея установленный DirectX 9.x это не достаточно, DirectX SDK должен быть установлен!

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

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

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

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