다음을 통해 공유


효과 시스템 인터페이스(Direct3D 11)

효과 시스템은 효과 상태를 관리하기 위한 여러 인터페이스를 정의합니다. 인터페이스에는 두 가지 유형이 있습니다. 즉, 런타임에서 효과 및 리플렉션 인터페이스를 렌더링하여 효과 변수를 가져오고 설정하는 데 사용하는 인터페이스입니다.

효과 런타임 인터페이스

런타임 인터페이스를 사용하여 효과를 렌더링합니다.

런타임 인터페이스 설명
ID3DX11Effect 렌더링을 위한 하나 이상의 그룹 및 기술 컬렉션입니다.
ID3DX11EffectPass 상태 할당의 컬렉션입니다.
ID3DX11EffectTechnique 하나 이상의 패스 컬렉션입니다.
ID3DX11EffectGroup 하나 이상의 기술 컬렉션입니다.

 

효과 리플렉션 인터페이스

리플렉션은 효과 시스템에서 구현되어 읽기(및 쓰기) 효과 상태를 지원합니다. 효과 변수에 액세스하는 방법에는 여러 가지가 있습니다.

효과 상태 그룹 설정

이러한 인터페이스를 사용하여 상태 그룹을 가져와서 설정합니다.

리플렉션 인터페이스 설명
ID3DX11EffectBlendVariable 혼합 상태를 가져와 설정합니다.
ID3DX11EffectDepthStencilVariable 깊이 스텐실 상태를 가져와 설정합니다.
ID3DX11EffectRasterizerVariable 래스터라이저 상태를 가져와 설정합니다.
ID3DX11EffectSamplerVariable 샘플러 상태를 가져와 설정합니다.

 

효과 리소스 설정

이러한 인터페이스를 사용하여 리소스를 가져와서 설정합니다.

리플렉션 인터페이스 Description
ID3DX11EffectConstantBuffer 텍스처 버퍼 또는 상수 버퍼의 데이터에 액세스합니다.
ID3DX11EffectDepthStencilViewVariable 깊이 스텐실 리소스의 데이터에 액세스합니다.
ID3DX11EffectRenderTargetViewVariable 렌더링 대상의 데이터에 액세스합니다.
ID3DX11EffectShaderResourceVariable 셰이더 리소스의 데이터에 액세스합니다.
ID3DX11EffectUnorderedAccessViewVariable 순서가 지정되지 않은 액세스 보기에서 데이터에 액세스합니다.

 

기타 효과 변수 설정

변수 형식별로 상태를 가져와서 설정하려면 이러한 인터페이스를 사용합니다.

리플렉션 인터페이스 Description
ID3DX11EffectClassInstanceVariable 클래스 instance 가져옵니다.
ID3DX11EffectInterfaceVariable 인터페이스를 가져와서 설정합니다.
ID3DX11EffectMatrixVariable 행렬을 가져와 설정합니다.
ID3DX11EffectScalarVariable 스칼라를 가져와서 설정합니다.
ID3DX11EffectShaderVariable 셰이더 변수를 가져옵니다.
ID3DX11EffectStringVariable 문자열을 가져와서 설정합니다.
ID3DX11EffectType 변수 형식을 가져옵니다.
ID3DX11EffectVectorVariable 벡터를 가져와서 설정합니다.

 

모든 리플렉션 인터페이스는 ID3DX11EffectVariable에서 파생됩니다.

효과(Direct3D 11)

Direct3D 11의 프로그래밍 지침