D3D10_MAP 열거형(d3d10.h)
CPU에서 읽고 쓰기 위해 액세스할 리소스를 식별합니다. 애플리케이션은 이러한 플래그 중 하나 이상을 결합할 수 있습니다.
Syntax
typedef enum D3D10_MAP {
D3D10_MAP_READ = 1,
D3D10_MAP_WRITE = 2,
D3D10_MAP_READ_WRITE = 3,
D3D10_MAP_WRITE_DISCARD = 4,
D3D10_MAP_WRITE_NO_OVERWRITE = 5
} ;
상수
D3D10_MAP_READ 값: 1 리소스는 읽기용으로 매핑됩니다. 리소스가 읽기 액세스 권한으로 만들어졌어야 합니다( D3D10_CPU_ACCESS_READ 참조). |
D3D10_MAP_WRITE 값: 2 리소스는 쓰기를 위해 매핑됩니다. 리소스는 쓰기 액세스 권한으로 만들어졌어야 합니다( D3D10_CPU_ACCESS_WRITE 참조). |
D3D10_MAP_READ_WRITE 값: 3 리소스는 읽기 및 쓰기를 위해 매핑됩니다. 리소스는 읽기 및 쓰기 액세스 권한으로 만들어졌어야 합니다( D3D10_CPU_ACCESS_READ 및 D3D10_CPU_ACCESS_WRITE 참조). |
D3D10_MAP_WRITE_DISCARD 값: 4 리소스는 쓰기용으로 매핑됩니다. 리소스의 이전 콘텐츠는 정의되지 않습니다. 리소스는 쓰기 액세스 권한으로 만들어졌어야 합니다( D3D10_CPU_ACCESS_WRITE 참조). |
D3D10_MAP_WRITE_NO_OVERWRITE 값: 5 리소스는 쓰기용으로 매핑됩니다. 리소스의 기존 내용을 덮어쓸 수 없습니다(설명 참조). 이 플래그는 꼭짓점 및 인덱스 버퍼에서만 유효합니다. 리소스는 쓰기 액세스 권한으로 만들어졌어야 합니다( D3D10_CPU_ACCESS_WRITE 참조). D3D10_BIND_CONSTANT_BUFFER 플래그를 사용하여 만든 리소스에는 사용할 수 없습니다. |
설명
이 열거형은 ID3D10Buffer::Map, ID3D10Texture1D::Map, ID3D10Texture2D::Map 및 ID3D10Texture3D::Map에 사용됩니다.
D3D10_MAP_WRITE_NO_OVERWRITE 의미
D3D10_MAP_WRITE_NO_OVERWRITE 애플리케이션이 IA( 입력 어셈블러 ) 단계에서 사용하는 데이터에 쓰지 않겠다는 것을 의미합니다. 대신 GPU를 사용하면 애플리케이션이 동일한 버퍼의 다른 부분에 쓸 수 있습니다. 애플리케이션은 IA 단계에서 사용 중인 데이터에 대해 쓰지 않도록 해야 합니다.예를 들어 다음 다이어그램에 설명된 버퍼를 고려합니다. 꼭짓점 4-6을 사용하는 그리기 호출이 실행된 경우 이 버퍼에서 Map을 호출하는 애플리케이션은 렌더링 중에 그리기 호출이 액세스할 꼭짓점에 쓰지 않도록 해야 합니다.

D3D10_MAP_WRITE_NO_OVERWRITE D3D10_MAP_WRITE_DISCARD 일반적인 사용
D3D10_MAP_WRITE_DISCARD 및 D3D10_MAP_WRITE_NO_OVERWRITE 동적 인덱스/꼭짓점 버퍼와 함께 일반적으로 사용되지만 동적 텍스처와 함께 사용할 수도 있습니다.이러한 두 플래그의 일반적인 용도로는 동적 인덱스/꼭짓점 버퍼를 카메라의 현재 위치에서 볼 수 있는 기하 도형으로 채우는 작업이 포함됩니다. 데이터가 지정된 프레임의 버퍼에 처음 입력될 때 Map은 D3D10_MAP_WRITE_DISCARD 함께 호출됩니다. 이렇게 하면 버퍼의 이전 내용이 무효화됩니다. 그러면 버퍼가 사용 가능한 모든 데이터로 채워집니다.
동일한 프레임 내의 버퍼에 대한 후속 쓰기는 D3D10_MAP_WRITE_NO_OVERWRITE 사용해야 합니다. 이렇게 하면 이전에 설명한 제한 사항이 적용되는 한 CPU가 GPU에서 잠재적으로 사용되는 리소스에 액세스할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | d3d10.h |