CreateVertexBuffer
-
정점 버퍼 생성하기Programing/DirectX 2008. 5. 8. 14:37
다이렉트 SDK기본 튜토리얼 2번째시간에 있는 정점 버퍼 생성에 관한 글이다. 첫번째 시간의 디바이스 생성코드를 기준으로 작성을 하기로 한다. 우선 정점 버퍼를 만들기 위하여 전역 변수에 다음과 같이 정점을 보관할 정점 버퍼를 생성한다. LPDIRECT3DVERTEXBUFFER9 g_pVB = NULL; 다음으로 정점을 정의할 구조체를 만든다. 튜토에서 처럼 구조체 이름을 CUSTOMVERTEX로 하기로 한다. 이 구조체는 사용자 자신이 원하는 여러가지 형태로 만들수 있는데 D3D에 정해져 있는 포맷은 다음과 같다. 정점 좌표 : 정점의 3차원 좌표를 나타낸다. (float) RWH : 동차 좌표계의 값, 이값이 있으면 변환이 완료된 정점이다.(float) 결합 가중치 : 스키닝에 사용된다.(float)..
-
CreateVertexBuffer 메서드Programing/DirectX 2008. 1. 26. 20:21
정점 버퍼를 생성 한다. HRESULT CreateVertexBuffer( UINT Length, DWORD Usage, DWORD FVF, D3DPOOL Pool, IDirect3DVertexBuffer9** ppVertexBuffer, HANDLE* pHandle ); Length : 버퍼에 할당할 바이트 수. 예를들어 3개의 버텍스를 보관할수 있는 버텍스 버퍼를 만들고자 한다면 3 * sizeof(버텍스 구조체)로 지정한다. Usage : 버퍼가 이용되는 방법을 결정 보통은 0을 사용한다. 또한 다음과 같은 플래그를 사용할 수 있다. D3DUSAGE_DYNAMIC : 동적 버퍼생성, 비디오 메모리에 저장. 갱신이 빠름. 파티클등에 사용 D3DUSAGE_POINTS : 포인트 기본형을 보관할 것임을 ..