IDirect3DDevice9::CreateIndexBuffer 메서드(d3d9helper.h)
인덱스 버퍼를 만듭니다.
구문
HRESULT CreateIndexBuffer(
[in] UINT Length,
[in] DWORD Usage,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[out, retval] IDirect3DIndexBuffer9 **ppIndexBuffer,
[in] HANDLE *pSharedHandle
);
매개 변수
[in] Length
형식: UINT
인덱스 버퍼의 크기(바이트)입니다.
[in] Usage
형식: DWORD
사용량은 0일 수 있으며 이는 사용량 값을 나타내지 않습니다. 그러나 사용이 필요한 경우 하나 이상의 D3DUSAGE 상수 조합을 사용합니다. CreateIndexBuffer의 사용 매개 변수를 IDirect3D9::CreateDevice의 동작 플래그와 일치시킬 수 있습니다. 자세한 내용은 설명 부분을 참조하세요.
[in] Format
형식: D3DFORMAT
인덱스 버퍼의 형식을 설명하는 D3DFORMAT 열거형 형식의 멤버입니다. 자세한 내용은 설명 부분을 참조하세요. 유효한 설정은 다음과 같습니다.
항목 | Description |
---|---|
D3DFMT_INDEX16 | 인덱스는 각각 16비트입니다. |
D3DFMT_INDEX32 | 인덱스는 각각 32비트입니다. |
[in] Pool
형식: D3DPOOL
리소스를 배치할 유효한 메모리 클래스를 설명하는 D3DPOOL 열거형 형식의 멤버입니다.
[out, retval] ppIndexBuffer
형식: IDirect3DIndexBuffer9**
생성된 인덱스 버퍼 리소스를 나타내는 IDirect3DIndexBuffer9 인터페이스에 대한 포인터의 주소입니다.
[in] pSharedHandle
형식: HANDLE*
이 매개 변수는 Windows Vista용 Direct3D 9에서 리소스를 공유하는 데 사용할 수 있습니다. 리소스를 공유하지 않도록 NULL 로 설정합니다. 이 매개 변수는 Windows Vista 이전 운영 체제의 경우 Direct3D 9에서 사용되지 않습니다. NULL로 설정합니다.
반환 값
형식: HRESULT
메서드가 성공하면 반환 값이 D3D_OK. 메서드가 실패하면 반환 값은 D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, D3DXERR_INVALIDDATA, E_OUTOFMEMORY 중 하나일 수 있습니다.
설명
인덱스 버퍼는 인덱스를 보유하는 데 사용되는 메모리 리소스이며, 표면 및 꼭짓점 버퍼와 비슷합니다. 인덱스 버퍼를 사용하면 Direct3D가 불필요한 데이터 복사를 방지하고 버퍼를 예상 사용량에 대한 최적의 메모리 형식에 배치할 수 있습니다.
인덱스 버퍼를 사용하려면 인덱스 버퍼를 만들고, 잠그고, 인덱스로 채우고, 잠금을 해제하고, IDirect3DDevice9::SetIndices에 전달하고, 꼭짓점을 설정하고, 꼭짓점 셰이더를 설정하고, 렌더링을 위해 IDirect3DDevice9::D rawIndexedPrimitive 를 호출합니다.
D3DCAPS9 구조체의 MaxVertexIndex 멤버는 렌더링에 유효한 인덱스 버퍼 유형을 나타냅니다.
요구 사항
대상 플랫폼 | Windows |
헤더 | d3d9helper.h(D3D9.h 포함) |
라이브러리 | D3D9.lib |