D3D11_BIND_FLAG 열거형(d3d11.h)
파이프라인에 리소스를 바인딩하는 방법을 식별합니다.
Syntax
typedef enum D3D11_BIND_FLAG {
D3D11_BIND_VERTEX_BUFFER = 0x1L,
D3D11_BIND_INDEX_BUFFER = 0x2L,
D3D11_BIND_CONSTANT_BUFFER = 0x4L,
D3D11_BIND_SHADER_RESOURCE = 0x8L,
D3D11_BIND_STREAM_OUTPUT = 0x10L,
D3D11_BIND_RENDER_TARGET = 0x20L,
D3D11_BIND_DEPTH_STENCIL = 0x40L,
D3D11_BIND_UNORDERED_ACCESS = 0x80L,
D3D11_BIND_DECODER = 0x200L,
D3D11_BIND_VIDEO_ENCODER = 0x400L
} ;
상수
D3D11_BIND_VERTEX_BUFFER 값: 0x1L 버퍼를 꼭짓점 버퍼로 입력 어셈블러 단계에 바인딩합니다. |
D3D11_BIND_INDEX_BUFFER 값: 0x2L 버퍼를 인덱스 버퍼로 입력 어셈블러 단계에 바인딩합니다. |
D3D11_BIND_CONSTANT_BUFFER 값: 0x4L 버퍼를 셰이더 단계에 상수 버퍼로 바인딩합니다. 이 플래그는 다른 바인딩 플래그와 결합되지 않을 수 있습니다. |
D3D11_BIND_SHADER_RESOURCE 값: 0x8L 버퍼 또는 텍스처를 셰이더 단계에 바인딩합니다. 이 플래그는 D3D11_MAP_WRITE_NO_OVERWRITE 플래그와 함께 사용할 수 없습니다. 참고 Windows 8부터 사용할 수 있는 Direct3D 11.1 런타임을 사용하면 동적 상수 버퍼 및 동적 버퍼의 SRV(셰이더 리소스 뷰)를 D3D11_MAP_WRITE_NO_OVERWRITE 매핑할 수 있습니다. Direct3D 11 및 이전 런타임은 꼭짓점 또는 인덱스 버퍼에 대한 매핑을 제한했습니다. Direct3D 디바이스가 이러한 기능을 지원하는지 확인하려면 D3D11_FEATURE_D3D11_OPTIONS사용하여 ID3D11Device::CheckFeatureSupport를 호출합니다. CheckFeatureSupport 는 D3D11_FEATURE_DATA_D3D11_OPTIONS 구조체의 멤버를 디바이스의 기능으로 채웁니다. 여기에 관련된 멤버는 MapNoOverwriteOnDynamicConstantBuffer 및 MapNoOverwriteOnDynamicBufferSRV입니다. |
D3D11_BIND_STREAM_OUTPUT 값: 0x10L 스트림 출력 단계에 대한 출력 버퍼를 바인딩합니다. |
D3D11_BIND_RENDER_TARGET 값: 0x20L 텍스처를 출력 병합기 단계의 렌더링 대상으로 바인딩합니다. |
D3D11_BIND_DEPTH_STENCIL 값: 0x40L 출력 병합 단계의 깊이 스텐실 대상으로 텍스처를 바인딩합니다. |
D3D11_BIND_UNORDERED_ACCESS 값: 0x80L 순서가 지정되지 않은 액세스 리소스를 바인딩합니다. |
D3D11_BIND_DECODER 값: 0x200L 디코더 API에서 출력을 수신하는 데 2D 텍스처 가 사용됨을 나타내려면 이 플래그를 설정합니다. 디코더 출력에 대한 리소스를 만드는 일반적인 방법은 ID3D11Device::CreateTexture2D 메서드를 호출하여 2D 텍스처 배열을 만드는 것입니다. 그러나 ID3D11Device::CreateShaderResourceView 호출에서는 이 플래그로 만든 텍스처 배열을 사용할 수 없습니다. Direct3D 11: 이 값은 Direct3D 11.1까지 지원되지 않습니다. |
D3D11_BIND_VIDEO_ENCODER 값: 0x400L 이 플래그를 설정하여 2D 텍스처 가 비디오 인코더 API에서 입력을 수신하는 데 사용됨을 나타냅니다. 비디오 인코더에 대한 리소스를 만드는 일반적인 방법은 ID3D11Device::CreateTexture2D 메서드를 호출하여 2D 텍스처 배열을 만드는 것입니다. 그러나 ID3D11Device::CreateShaderResourceView 호출에서는 이 플래그로 만든 텍스처 배열을 사용할 수 없습니다. Direct3D 11: 이 값은 Direct3D 11.1까지 지원되지 않습니다. |
설명
일반적으로 바인딩 플래그는 비트 OR(상수 버퍼 플래그 제외)을 사용하여 결합할 수 있습니다. 그러나 단일 플래그를 사용하여 디바이스가 리소스 사용량을 최적화할 수 있도록 해야 합니다.
이 열거형은 다음에서 사용됩니다.
- 버퍼 를 만들 때의 버퍼 설명입니다.
- 텍스처를 만들 때의 텍스처 설명( D3D11_TEXTURE1D_DESC 또는 D3D11_TEXTURE2D_DESC 또는 D3D11_TEXTURE3D_DESC 참조).
참고 Windows 8부터 사용할 수 있는 Direct3D 11.1 런타임을 사용하면 동적 상수 버퍼 및 동적 버퍼의 SRV(셰이더 리소스 뷰)를 D3D11_MAP_WRITE_NO_OVERWRITE 매핑할 수 있습니다. Direct3D 11 및 이전 런타임은 꼭짓점 또는 인덱스 버퍼에 대한 매핑을 제한했습니다. Direct3D 디바이스가 이러한 기능을 지원하는지 확인하려면 D3D11_FEATURE_D3D11_OPTIONS사용하여 ID3D11Device::CheckFeatureSupport를 호출합니다. CheckFeatureSupport 는 D3D11_FEATURE_DATA_D3D11_OPTIONS 구조체의 멤버를 디바이스의 기능으로 채웁니다. 여기에 관련된 멤버는 MapNoOverwriteOnDynamicConstantBuffer 및 MapNoOverwriteOnDynamicBufferSRV입니다.
요구 사항
머리글 | d3d11.h |