정점 버퍼의 생성
HRESULT IDirect3DDevice8::CreateVertexBuffer(
UINT Length,
DWORD Usage,
DWORD FVF,
D3DPOOL Pool,
IDirect3DVertexBuffer8** ppVertexBuffer
);
Length | 생성할 정점 버퍼의 바이트 단위 크기 |
Usage | 정점 버퍼의 종류 혹은 처리 방식( SW,HW)지정 HW가 더 빠르다. |
FVF | 정점 정보 구조체에 따라 선언덴 FVF 플래그 값 |
Pool | 정점 버퍼가 저장될 메모리의 위치()와 관리 방식 지정 |
ppVertexBuffer | 반환될 정점 버퍼의 인터페이스 |
메모리 포인터 얻기
HRESULT IDirect3DVertexBuffer8::Lock
(
UINT OffsetToLock,
UINT SizeToLock.,
BYTE** ppbData,
DWORD Flags
);
OffsetToLock | Lock을 할 버퍼의 시작점, SizeToLock와 함께 양쪽 모두 0이면 버퍼 전체 |
SizeToLock | Lock을 할 버퍼의 크기, OffsetToLock과 함께 양쪽 모두 0이면 버퍼 전체 |
ppbData | 읽고 쓸 수 있게 된 메모리 영역의 포인터 |
Flags | Lock을 수행할때 함께 사용하는 플래그 |
BeginScene()
1. SetSetreamSource() 출력할 정점 버퍼를 디바이스에 결합한다.
2. SetVertexShader() 정점포멧을 디바이스에 지정한다.
3. DrawPrimitive() 정점 버퍼의 폴리곤을 그린다.
EndScene()
DrawPrimitive()의 동작을 지정하는 상수
D3DPT_POINTLIST
D3DPT_LINELIST
D3DPT_LINESTRIP
D3DPT_TRIANGLEUST
D3DPT_TRIANGLELIST
D3DPT_TRIANGLESTRIP
D3DPT_TRIANGLEFAN
'MISCELLANEOUSNESS' 카테고리의 다른 글
바탕화면 이쁜것들..ㅎㅎ;; (2) | 2009.01.26 |
---|---|
Consolas font for visual studio 2005 or 2008 (0) | 2009.01.16 |
Ruby와 RDT 설정 (0) | 2009.01.14 |