Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Состояния эффекта — это пары "имя-значение" в форме выражения.
Состояние Blend
| Состояние эффекта | Группа |
|---|---|
| ALPHATOCOVERAGEENABLE, BLENDENABLE, SRCBLEND, DESTBLEND, BLENDOP, SRCBLENDALPHA, DESTBLENDALPHA, BLENDOPALPHA, RENDERTARGETWRITEMASK | Члены D3D10_BLEND_DESC |
Глубина и состояние трафарета
| Состояние эффекта | Группа |
|---|---|
| DEPTHENABLE, DEPTHWRITEMASK, DEPTHFUNC, STENCILENABLE, STENCILREADMASK, STENCILWRITEMASK | Члены D3D10_DEPTH_STENCIL_DESC |
| FRONTFACESTENCILFAIL, FRONTFACESTENCILZFAIL, FRONTFACESTENCILPASS, FRONTFACESTENCILFUNC, BACKFACESTENCILFAIL, BACKFACESTENCILZFAIL, BACKFACESTENCILPASS, BACKFACESTENCILFUNC | Член D3D10_DEPTH_STENCILOP_DESC |
Состояние растеризатора
| Состояние эффекта | Группа |
|---|---|
| FILLMODE | D3D10_FILL_MODE |
| CULLMODE | D3D10_CULL_MODE |
| FRONTCOUNTERCLOCKWISE, DEPTHBIAS, DEPTHBIASCLAMP, SLOPESCALEDEPTHBIAS, ZCLIPENABLE, SCISSORENABLE, MULTISAMPLEENABLE, ANTIALIASEDLINEENABLE | Члены D3D10_RASTERIZER_DESC |
Состояние дискретизатора
| Состояние эффекта | Группа |
|---|---|
| Filter, AddressU, AddressV, AddressW, MipLODBias, MaxAnisotropy, ComparisonFunc, BorderColor, MinLOD, MaxLOD | Члены D3D10_SAMPLER_DESC |
Примеры см. в разделе Тип выборки (DirectX HLSL).
Состояние объекта effect
| Этот объект эффекта | Соответствует параметру |
|---|---|
| RASTERIZERSTATE | Объект состояния состояния средства растеризатора . |
| DEPTHSTENCILSTATE | Объект состояния Depth и Stencil State . |
| BLENDSTATE | Объект состояния Blend State . |
| ВЕРШИНА | Скомпилированный объект вершинного шейдера. |
| PIXELSHADER | Скомпилированный объект шейдера пикселей. |
| GEOMETRYSHADER | Скомпилированный объект шейдера геометрии. |
| DS_STENCILREF AB_BLENDFACTOR AB_SAMPLEMASK | Члены D3D10_PASS_DESC. |
Определение и использование объектов состояния
Объекты состояния объявляются в FX-файлах в следующем формате. StateObjectType — это одно из перечисленных выше состояний, а MemberName — имя любого члена, которое будет иметь значение, отличное от значения по умолчанию.
StateObjectType ObjectName {
MemberName = value;
...
MemberName = value;
};
Например, чтобы настроить объект состояния blend с AlphaToCoverageEnable и BlendEnable[0] значением FALSE, будет использоваться следующий код.
BlendState NoBlend {
AlphaToCoverageEnable = FALSE;
BlendEnable[0] = FALSE;
};
Объект состояния применяется к проходу техники с помощью одной из функций SetStateGroup, описанных в разделе Синтаксис метода эффектов (Direct3D 10). Например, для применения объекта BlendState, описанного выше, будет использоваться следующий код.
SetBlendState( NoBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF );
Руководство, описывающее использование состояний, см. в разделе Управление состоянием.