DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 구조체 D3DINDEXBUFFER_DESC [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
인덱스 버퍼를 기술한다.
구문
typedef struct _D3DINDEXBUFFER_DESC { D3DFORMAT Format; D3DRESOURCETYPE Type; DWORD Usage; D3DPOOL Pool; UINT Size; } D3DINDEXBUFFER_DESC;
멤버
- Format
- D3DFORMAT 열거형의 멤버. 인덱스 버퍼 데이터의 표면 포맷을 기술한다.
- Type
- D3DRESOURCETYPE 열거형의 멤버. 인덱스 버퍼로서의 이 리소스를 식별한다.
- Usage
이 리소스의 사용 방법을 지정하는, 다음의 1 개 이상의 플래그의 편성.
- D3DUSAGE_DONOTCLIP
- 인덱스 버퍼의 내용이 결코 클리핑을 요구하지 않는 것을 나타낸다.
- D3DUSAGE_DYNAMIC
인덱스 버퍼가 동적인 메모리의 사용을 필요로 하는 것을 나타낸다. 버퍼의 배치 장소를 드라이버를 결정될 수 있으므로, 드라이버에 있어 유효하다. 일반적으로, 정적인 인덱스 버퍼는 비디오 메모리에 배치되어 동적인 인덱스 버퍼는 AGP 메모리에 배치된다. 정적인 사용 방법만을 분리할 수 없기 때문에 주의 해야 한다. D3DUSAGE_DYNAMIC 를 지정하지 않으면 인덱스 버퍼는 정적으로 생성 된다. D3DUSAGE_DYNAMIC 는, D3DLOCK_DISCARD 및 D3DLOCK_NOOVERWRITE 잠금 플래그에 의해 엄밀하게 강제당한다. 이 결과, D3DLOCK_DISCARD 및 D3DLOCK_NOOVERWRITE 는,D3DUSAGE_DYNAMIC 를 지정해 생성 된 인덱스 버퍼에서만 유효하다. 이것들은, 정적인 인덱스 버퍼에서는 유효한 플래그는 아니다.
동적인 인덱스 버퍼의 사용법의 더 자세한 정보는, 「동적인 정점와 인덱스 버퍼의 사용법」을 참조할것.
D3DUSAGE_DYNAMIC 는, 관리되는 인덱스 버퍼에서는 지정할 수 없기 때문에 주의 해야 한다. 더 자세한 정보는, 「리소스의 관리」를 참조할것.
- D3DUSAGE_RTPATCHES
- 고차원 기본도형의 드로잉(Drawing)에 인덱스 버퍼를 사용할때 설정한다.
- D3DUSAGE_NPATCHES
- N 패치의 드로잉(Drawing)에 인덱스 버퍼를 사용할때 설정한다.
- D3DUSAGE_POINTS
- 포인트 스프라이트 또는 인덱스 첨부 포인트 리스트의 드로잉(Drawing)에, 인덱스 버퍼를 사용할때 설정한다.
- D3DUSAGE_SOFTWAREPROCESSING
- 버퍼가 소프트웨어 처리로 사용되는 것을 나타낸다.
- D3DUSAGE_WRITEONLY
- 인덱스 버퍼에의 쓰기 조작 밖에 실행할 수 없는 것을 시스템에 통지한다. 이 플래그를 사용하는 것으로써, 드라이버는 최적인 메모리 영역을 선택해 효율적으로 쓰기 조작이나 렌더링을 실행한다. 이 능력을 사용해 생성 된 인덱스 버퍼로부터의 read를 시도하면 퍼포먼스가 저하하는 경우가 있다.
- Pool
- D3DPOOL 열거형의 멤버. 이 인덱스 버퍼에 할당할 수 있는 메모리의 클래스를 지정한다.
- Size
- 인덱스 버퍼의 사이즈 (바이트 단위).
구조체의 정보
헤더 d3d9types.h 최저한의 operating system Windows 98
참조
IDirect3DIndexBuffer9::GetDesc