Поделиться через


Выражения (Direct3D 9)

Выражения — это математические или логические операторы, которые используются справа от знака равенства. Существует множество типов выражений.

Выражения

  1. Справочник по переменным

    ( variable ) or<variable >
    
  2. Числовые скалярные

    scalar 
    
  3. Числовое выражение

    ( numeric expression )
    

    Здесь поддерживаются все стандартные числовые выражения HLL.

  4. Конструктор

    type ( constructor arguments )
    
  5. Список инициализаторов

    { scalar value [, scalar value ...  ] }
    
    

    Скаляры должны быть литеральными скалярными значениями.

    Количество инициализаторов должно быть совместимо с переменной (состоянием) в левой части знака равенства.

  6. Выражение OR

    token [ | token ... ]
    

    Маркеры должны быть совместимы с переменной (состоянием) в левой части знака равенства.

    В маркерах регистр не учитывается.

  7. NULL

    NULL
    

    Значение NULL может быть присвоено только шейдеру, выборке или объекту текстуры.

  8. Блок сборок

    asm { code }
    

    Блоки сборок PS должны быть назначены состоянию PIXELSHADER.

    Блоки сборок VS должны быть назначены состоянию VERTEXSHADER.

  9. Блок состояния sampler

    sampler_state { [ state = expression ; [ state = ... ] ] }
    

    Блоки состояний выборки — это последовательности неиндексированного состояния этапа выборки или назначений текстур.

    Блоки состояний sampler должны быть назначены состоянию эффекта SAMPLER.

  10. Блок состояний состояния эффекта

    stateblock_state { [ state [ [index] ] = expression; 
        [ state [ [index] ] = ... ] ] }
    

    Блоки состояний — это последовательности общего состояния. Блоки состояний могут быть вложенными, но не могут содержать циклические ссылки.

    Блоки состояний должны быть назначены состоянию эффекта STATEBLOCK.

  11. Компиляция HLSL

    compile target entrypoint ( [ arguments ] )
    

    Вершинный шейдер vs_m_n целевой объект указывает версию вершинного шейдера D3DVS_VERSION(m, n). Пиксельный шейдер ps_m_n целевой объект указывает версию шейдера пикселей D3DPS_VERSION(m, n).

    Высокоуровневые выражения компиляции языка вершинного шейдера можно назначить только состоянию эффекта VERTEXSHADER. Выражения компиляции высокоуровневого языка пиксельного шейдера можно назначить только состоянию эффекта PIXELSHADER.

Формат эффекта