효과 시스템 인터페이스(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에서 파생됩니다.
관련 항목