Введение в программирование трехмерных игр с DX9

       

Состояния устройства в файле эффекта

Обычно для правильного выполнения эффекта мы должны установить состояния устройства, такие как режимы визуализации, режимы текстурирования, материалы, освещение и текстуры. Чтобы весь эффект можно было включить в один файл, каркас эффектов позволяет нам устанавливать состояния устройства из файла эффекта. Состояния устройства устанавливаются внутри блока прохода визуализации и для этого используется следующий синтаксис:

Состояние = Значение;

Чтобы просмотреть полный список доступных состояний, поищите слово «states» в алфавитном указателе документации DirectX SDK или на вкладке Contents справочной системы SDK выберите пункт DirectX Graphics\Reference\Effect Reference\Effect Format\States.

Возьмем, к примеру, состояние FillMode. Если вы поищете его упоминание в документации SDK, то увидите, что доступные для него значения — это те же значения, которые доступны для режима D3DFILLMODE, только без префикса D3DFILL_. Если посмотреть описание D3DFILLMODE в документации SDK, мы обнаружим допустимые значения D3DFILL_POINT, D3DFILL_WIREFRAME, и D3DFILL_SOLID. Таким образом, для файла эффектов мы отбрасываем префикс и получаем следующие допустимые значения состояния FillMode: POINT, WIREFRAME и SOLID. Например, мы можем написать в файле эффектов:

FillMode = WIREFRAME; FillMode = POINT; FillMode = SOLID;

ПРИМЕЧАНИЕ

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

Содержание раздела