다음을 통해 공유


ID3DXEffectStateManager 인터페이스

사용자가 효과에서 디바이스 상태를 설정할 수 있는 사용자 구현 인터페이스입니다. 이 인터페이스의 각 메서드는 사용자가 구현해야 하며 다음 중 하나가 발생할 때 애플리케이션에 대한 콜백으로 사용됩니다.

  • 효과는 ID3DXEffect::BeginPass를 호출합니다.
  • 효과 상태는 적절한 상태 변경 API를 호출하여 동적으로 업데이트됩니다. 자세한 내용은 개별 메서드 페이지를 참조하세요.

애플리케이션이 상태 관리자를 사용하여 사용자 지정 콜백을 구현하는 경우 ID3DXEffect::BeginPass 및 ID3DXEffect::EndPass를 호출할 때 효과가 더 이상 자동으로 상태를 저장하고 복원하지 않습니다. 애플리케이션이 콜백에서 사용자 지정 저장 및 복원 동작을 구현했기 때문에 이 자동 동작은 무시됩니다.

멤버

ID3DXEffectStateManager 인터페이스는 IUnknown 인터페이스에서 상속됩니다. ID3DXEffectStateManager 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

ID3DXEffectStateManager 인터페이스에는 이러한 메서드가 있습니다.

메서드 Description
LightEnable 조명을 사용하거나 사용하지 않도록 설정하려면 사용자가 구현해야 하는 콜백 함수입니다.
SetFVF 사용자가 FVF 코드를 설정하기 위해 구현해야 하는 콜백 함수입니다.
SetLight 조명을 설정하려면 사용자가 구현해야 하는 콜백 함수입니다.
SetMaterial 재질 상태를 설정하려면 사용자가 구현해야 하는 콜백 함수입니다.
SetNPatchMode N 패치에 대한 세분화 세그먼트 수를 설정하기 위해 사용자가 구현해야 하는 콜백 함수입니다.
SetPixelShader 사용자가 픽셀 셰이더를 설정하기 위해 구현해야 하는 콜백 함수입니다.
SetPixelShaderConstantB 꼭짓점 셰이더 부울 상수 배열을 설정하려면 사용자가 구현해야 하는 콜백 함수입니다.
SetPixelShaderConstantF 꼭짓점 셰이더 부동 소수점 상수의 배열을 설정하려면 사용자가 구현해야 하는 콜백 함수입니다.
SetPixelShaderConstantI 꼭짓점 셰이더 정수 상수 배열을 설정하려면 사용자가 구현해야 하는 콜백 함수입니다.
SetRenderState 렌더링 상태를 설정하려면 사용자가 구현해야 하는 콜백 함수입니다.
SetSamplerState 샘플러를 설정하려면 사용자가 구현해야 하는 콜백 함수입니다.
SetTexture 사용자가 텍스처를 설정하기 위해 구현해야 하는 콜백 함수입니다.
SetTextureStageState 사용자가 텍스처 스테이지 상태를 설정하기 위해 구현해야 하는 콜백 함수입니다.
SetTransform 변환을 설정하려면 사용자가 구현해야 하는 콜백 함수입니다.
SetVertexShader 꼭짓점 셰이더를 설정하려면 사용자가 구현해야 하는 콜백 함수입니다.
SetVertexShaderConstantB 꼭짓점 셰이더 부울 상수 배열을 설정하려면 사용자가 구현해야 하는 콜백 함수입니다.
SetVertexShaderConstantF 꼭짓점 셰이더 부동 소수점 상수의 배열을 설정하려면 사용자가 구현해야 하는 콜백 함수입니다.
SetVertexShaderConstantI 꼭짓점 셰이더 정수 상수 배열을 설정하려면 사용자가 구현해야 하는 콜백 함수입니다.

 

설명

사용자는 이 인터페이스에서 파생되는 클래스를 구현하고 모든 인터페이스 메서드를 구현하여 ID3DXEffectStateManager 인터페이스를 만듭니다. 인터페이스가 만들어지면 ID3DXEffect::GetStateManager 및 ID3DXEffect::SetStateManager사용하여 효과 내에서 상태 관리자를 가져오거나 설정할 수 있습니다.

LPD3DXEFFECTSTATEMANAGER 형식은 이 인터페이스에 대한 포인터로 정의됩니다.

typedef interface ID3DXEffectStateManager ID3DXEffectStateManager;
typedef interface ID3DXEffectStateManager *LPD3DXEFFECTSTATEMANAGER;

요구 사항

요구 사항
헤더
D3DX9Effect.h
라이브러리
D3dx9.lib

추가 정보

효과 인터페이스