Группы состояний эффектов (Direct3D 11)
Состояния эффектов — это пары значений имен в форме выражения.
- Состояние смешения
- Глубина и состояние набора элементов
- Состояние растеризатора
- Состояние выборки
- Состояние объекта эффекта
- Определение и использование объектов состояния
- Связанные темы
Состояние смешения
Состояние эффекта | Группа |
---|---|
ALPHATOCOVERAGEENABLEBLENDENABLESRCBLENDDESTBLENDBLENDBLENDOP SRCBLENDALPHADESTBLENDALPHABLENDOPALPHARENDERTARGETWRITEMASK | Члены D3D11_BLEND_DESC |
Глубина и состояние набора элементов
Состояние эффекта | Группа |
---|---|
DEPTHENABLEDEPTHWRITEMASKDEPTHFUNCSTENCILENABLESTENCILREADMASKSTENCILWRITEMASK | Члены D3D11_DEPTH_STENCIL_DESC |
FRONTFACESTENCILFAILFRONTFACESTENCILZFAILFRONTFACESTENCILPASSFRONTFACESTENCILFUNCBACKFACESTENCILFAILBACKFACESTENCILZFAILBACKFACESTENCILPASSBACKFACESTENCILFUNC | Член D3D11_DEPTH_STENCILOP_DESC |
Состояние средства прорисовки
Состояние эффекта | Группа |
---|---|
FILLMODE | D3D11_FILL_MODE |
CULLMODE | D3D11_CULL_MODE |
FRONTCOUNTERCLOCKWISEDEPTHBIASDEPTHBIASCLAMPSLOPESCALEDDEPTHBIAS ZCLIPENABLESCISSSORENABLEMULTISAMPLEENABLEANTIALIASEDLINEENABLE | Члены D3D11_RASTERIZER_DESC |
Состояние выборки
Состояние эффекта | Группа |
---|---|
Фильтрация AddressU AddressV AddressW MipLODBias MaxAnisotropy ComparisonFunc BorderColor MinLOD MaxLOD | Члены D3D11_SAMPLER_DESC |
Примеры см. в разделе Sampler Type (DirectX HLSL).
Состояние объекта эффекта
Объект этого эффекта | Соответствует параметру |
---|---|
RASTERIZERSTATE | Объект состояния состояния растеризатора . |
DEPTHSTENCILSTATE | Объект состояния Depth и Stencil State . |
BLENDSTATE | Объект состояния Blend State . |
VERTEXSHADER | Скомпилированный объект шейдера вершин. |
PIXELSHADER | Скомпилированный объект шейдера пикселей. |
GEOMETRYSHADER | Скомпилированный объект шейдера геометрии. |
DS_STENCILREFAB_BLENDFACTORAB_SAMPLEMASK | Члены D3DX11_PASS_DESC. |
Определение и использование объектов состояния
Объекты состояния объявляются в FX-файлах в следующем формате. StateObjectType — это одно из перечисленных выше состояний, а MemberName — это имя любого члена, который будет иметь значение, отличное от значения по умолчанию.
StateObjectType ObjectName {
MemberName = value;
...
MemberName = value;
};
Например, чтобы настроить объект состояния смешения с alphaToCoverageEnable и BlendEnable[0] значение FALSE , будет использоваться следующий код.
BlendState NoBlend {
AlphaToCoverageEnable = FALSE;
BlendEnable[0] = FALSE;
};
Объект состояния применяется к проходу техники с помощью одной из функций SetStateGroup, описанных в разделе Синтаксис метода эффектов (Direct3D 11). Например, для применения объекта BlendState, описанного выше, будет использоваться следующий код.
SetBlendState( NoBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF );
Связанные темы