DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3DDevice9 DrawIndexedPrimitiveUP [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
사용자 메모리 포인터로 지정되고 있는 데이터로, 지정되고 있는 지오메트리 기본도형를 렌더링 한다.
구문
HRESULT DrawIndexedPrimitiveUP(
D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertexIndices, UINT PrimitiveCount, const void *pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride );
파라미터
- PrimitiveType
- [in] D3DPRIMITIVETYPE 열거형의 멤버. 렌더링 하는 기본도형의 종류를 기술한다.
- MinVertexIndex
- [in] 이 호출동안에 사용되는 정점군에 대한, 0 (pVertexStreamZeroData 의 시작 위치)을 기준으로 하는 최소의 정점 인덱스.
- NumVertexIndices
- [in] 이 호출로 사용되는 정점의 수 (MinVertexIndex 으로부터 시작된다).
- PrimitiveCount
- [in] 렌더링 하는 기본도형의 수. 사용되는 인덱스의 수는, 기본도형 카운트의 기능과 기본도형의 종류이다. 기본도형의 허용 최대수는,D3DCAPS9 구조체의 MaxPrimitiveCount 멤버를 체크해 결정된다.
- pIndexData
- [in] 인덱스 데이터에 대한 사용자 메모리 포인터.
- IndexDataFormat
- [in] D3DFORMAT 열거형의 멤버. 인덱스 데이터의 포맷을 기술한다. 유효한 설정은 다음과 같다.
- D3DFMT_INDEX16
- 인덱스는 각각 16 비트이다.
- D3DFMT_INDEX32
- 인덱스는 각각 32 비트이다.
- pVertexStreamZeroData
- [in] 정점 스트림 0 에 사용하기 위한 정점 데이터의 사용자 메모리 포인터.
- VertexStreamZeroStride
- [in] 각 정점의 데이터간의 보폭 (바이트 단위).
반환값
성공했을 경우는,D3D_OK 를 돌려준다.
실패했을 경우의 반환값은 다음대로.
D3DERR_INVALIDCALL 메서드의 호출이 무효이다. 예를 들어, 메서드의 파라미터에 무효인 값이 설정되어 있는 경우 등이다.
주의
이 메서드는, 정점 데이터를 정점 버퍼에 저장 할 수 없는 애플리케이션으로 사용한다.
이 메서드는, 단일의 정점 스트림만을 지원 한다. 이것은 스트림 0 으로서 선언되지 않으면 안 된다.
IDirect3DDevice9::DrawIndexedPrimitiveUP 의 호출의 뒤,IDirect3DDevice9::GetStreamSource 로 참조되는 스트림 0 의 설정은, NULL 로 설정된다. 또,IDirect3DDevice9::SetIndices 에 대한 인덱스 버퍼의 설정도, NULL 로 설정된다.
IDirect3DDevice9::DrawIndexedPrimitiveUP 에 건네주는 정점 데이터는, 호출의 뒤도 보관 유지할 필요는 없다. Microsoft® Direct3D® 는, 호출로부터 돌아오기 전에, 그 데이터에의 액세스를 완료한다.
종래의, 고정 기능을 가지는 애플리케이션을 Microsoft DirectX® 9.0 으로 처리할 때는, Draw 호출을 실시하기 전에 IDirect3DDevice9::SetFVF 에의 호출을 추가할 필요가 있다.
참조
IDirect3DDevice9::DrawPrimitiveUP ,IDirect3DDevice9::SetStreamSource ,기본도형의 렌더링