다음을 통해 공유


D3D10CreateStateBlock 함수(d3d10effect.h)

상태 블록을 만듭니다.

구문

HRESULT D3D10CreateStateBlock(
  [in]  ID3D10Device           *pDevice,
  [in]  D3D10_STATE_BLOCK_MASK *pStateBlockMask,
  [out] ID3D10StateBlock       **ppStateBlock
);

매개 변수

[in] pDevice

형식: ID3D10Device*

상태 블록을 만들 디바이스입니다.

[in] pStateBlockMask

형식: D3D10_STATE_BLOCK_MASK*

ID3D10StateBlock::Apply를 호출할 때 ID3D10StateBlock::Capture 및 reapplied를 호출할 때 캡처할 디바이스 상태의 일부를 나타냅니다. 설명을 참조하세요.

[out] ppStateBlock

형식: ID3D10StateBlock**

생성된 버퍼에 대한 포인터의 주소입니다( ID3D10StateBlock 인터페이스 참조).

반환 값

형식: HRESULT

이 메서드는 다음 Direct3D 10 반환 코드 중 하나를 반환합니다.

설명

상태 블록은 디바이스 상태의 컬렉션이며 디바이스 상태를 저장하고 복원하는 데 사용됩니다. 상태 블록 마스크를 사용하여 저장 및 복원을 위해 상태의 하위 집합을 사용하도록 설정합니다.

D3D10_STATE_BLOCK_MASK 구조체는 수동으로 또는 D3D10StateBlockMaskXXX API를 사용하여 채울 수 있습니다. ID3D10EffectTechnique::ComputeStateBlockMask 또는 ID3D10EffectPass::ComputeStateBlockMask를 호출하여 상태 블록 마스크를 가져올 수도 있습니다.

Direct3D 9와 Direct3D 10의 차이점:

Direct3D 10에서 상태 블록 개체는 ID3D10StateBlock::Capture 가 호출될 때까지 디바이스 상태에 대한 유효한 정보를 포함하지 않습니다. Direct3D 9에서는 상태가 만들어지면 상태 블록 개체에 저장됩니다.

요구 사항

   
대상 플랫폼 Windows
헤더 d3d10effect.h
라이브러리 D3D10.lib
DLL D3D10.dll

추가 정보

핵심 함수

효과 함수