효과 상태 그룹(Direct3D 11)
효과 상태는 식 형식의 이름 값 쌍입니다.
혼합 상태
효과 상태 | 그룹 |
---|---|
ALPHATOCOVERAGEENABLEBLENDENABLESRCBLENDDESTBLENDBLENDOP SRCBLENDALPHADESTBLENDALPHABLENDOPALPHARENDERTARGETWRITEMASK | D3D11_BLEND_DESC 멤버 |
깊이 및 스텐실 상태
효과 상태 | 그룹 |
---|---|
DEPTHENABLEDEPTHWRITEMASKDEPTHFUNCSTENCILENABLESTENCILREADMASKSTENCILWRITEMASK | D3D11_DEPTH_STENCIL_DESC 멤버 |
FRONTFACESTENCILFAILFRONTFACESTENCILZFAILFRONTFACESTENCILPASSFRONTFACESTENCILFUNCBACKFACESTENCILFAILBACKFACESTENCILZFAILBACKFACESTENCILPASSBACKFACESTENCILFUNC | D3D11_DEPTH_STENCILOP_DESC 멤버 |
래스터라이저 상태
효과 상태 | 그룹 |
---|---|
FILLMODE | D3D11_FILL_MODE |
CULLMODE | D3D11_CULL_MODE |
FRONTCOUNTERCLOCKWISEDEPTHBIASDEPTHBIASCLAMPSLOPESCALEDDEPTHBIAS ZCLIPENABLESCISSORENABLEMULTISAMPLEENABLEANTIALIASEDLINEENABLE | D3D11_RASTERIZER_DESC 멤버 |
샘플러 상태
효과 상태 | 그룹 |
---|---|
Filter AddressU AddressV AddressW MipLODBias MaxAnisotropy ComparisonFunc BorderColor MinLOD MaxLOD | D3D11_SAMPLER_DESC 멤버 |
예제 는 샘플러 형식(DirectX HLSL) 을 참조하세요.
효과 개체 상태
이 효과 개체 | 매핑 대상 |
---|---|
RASTERIZERSTATE | 래스터라이저 상태 개체입니다. |
DEPTHSTENCILSTATE | 깊이 및 스텐실 상태 개체입니다. |
BLENDSTATE | Blend State 상태 개체입니다. |
꼭짓점 셰이더 | 컴파일된 꼭짓점 셰이더 개체입니다. |
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;
};
상태 개체는 효과 기술 구문(Direct3D 11)에 설명된 SetStateGroup 함수 중 하나를 사용하여 기술 패스에 적용됩니다. 예를 들어 위에 설명된 BlendState 개체를 적용하려면 다음 코드가 사용됩니다.
SetBlendState( NoBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF );
관련 항목