효과 상태 그룹(Direct3D 10)
효과 상태는 식 형식의 이름-값 쌍입니다.
혼합 상태
효과 상태 | 그룹 |
---|---|
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, SLOPESCALEDDEPTHBIAS, ZCLIPENABLE, SCISSORENABLE, MULTISAMPLEENABLE, ANTIALIASEDLINEENABLE | D3D10_RASTERIZER_DESC 멤버 |
샘플러 상태
효과 상태 | 그룹 |
---|---|
Filter, AddressU, AddressV, AddressW, MipLODBias, MaxAnisotropy, ComparisonFunc, BorderColor, MinLOD, MaxLOD | D3D10_SAMPLER_DESC 멤버 |
예제 는 샘플러 형식(DirectX HLSL) 을 참조하세요.
효과 개체 상태
이 효과 개체 | 매핑 대상 |
---|---|
RASTERIZERSTATE | 래스터라이저 상태 개체입니다. |
DEPTHSTENCILSTATE | 깊이 및 스텐실 상태 개체입니다. |
BLENDSTATE | Blend State 상태 개체입니다. |
꼭짓점 셰이더 | 컴파일된 꼭짓점 셰이더 개체입니다. |
Pixelshader | 컴파일된 픽셀 셰이더 개체입니다. |
GEOMETRYSHADER | 컴파일된 기하 도형 셰이더 개체입니다. |
DS_STENCILREF AB_BLENDFACTOR AB_SAMPLEMASK | D3D10_PASS_DESC 멤버입니다. |
상태 개체 정의 및 사용
상태 개체는 FX 파일에서 다음 형식으로 선언됩니다. StateObjectType 은 위에 나열된 상태 중 하나이며 MemberName 은 기본값이 아닌 멤버의 이름입니다.
StateObjectType ObjectName {
MemberName = value;
...
MemberName = value;
};
예를 들어 AlphaToCoverageEnable 및 BlendEnable[0]이 FALSE로 설정된 혼합 상태 개체를 설정하려면 다음 코드가 사용됩니다.
BlendState NoBlend {
AlphaToCoverageEnable = FALSE;
BlendEnable[0] = FALSE;
};
상태 개체는 효과 기술 구문(Direct3D 10)에 설명된 SetStateGroup 함수 중 하나를 사용하여 기술 패스에 적용됩니다. 예를 들어 위에 설명된 BlendState 개체를 적용하려면 다음 코드가 사용됩니다.
SetBlendState( NoBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF );
상태 사용을 설명하는 자습서는 상태 관리를 참조하세요.