Programing/DirectX

메쉬 관련 ID3DXBuffer

챠니쓰 2008. 5. 23. 12:24
COM객체인 ID3DXBuffer 인터페이스는 D3DX가 연속적인 메모리 블록에 데이터를 저장하기 위해 이용하는 범용 데이터 구조체로, 다음과 같은 두개의 메서드를 가진다.

GetBufferPointer 버퍼내의 데이터에 대한 포인터를 얻어온다.
GetBufferSize 버퍼내의 데이터의 합계 바이트수 사이즈를 얻어온다.


이 ID3DXBuffer에는 정점, 인접성, 메트리얼에 관한 정보를 저장한다.

ID3DXBuffer 인터페이스를 얻어오려면,D3DXCreateBuffer 함수를 호출한다.
또한 메모리 누출을 막기 위해 반드시 이용이 끝난 뒤에는 객체를 풀어주어야 한다.(Release)


D3DXCreateBuffer
HRESULT D3DXCreateBuffer(      

    DWORD NumBytes,    LPD3DXBUFFER *ppBuffer );
첫번째 인자는 버퍼의크기, 사이즈 이며 두번째 인다는 생성된 버퍼를 가르키는 포인터이다.

ID3DXBuffer* b = 0;
D3DXCreateBuffer(4 * sizeof(int), &b);

위와 같이 코딩하면 세 개의 정수를 보관할 수 있는 버퍼를 만들수 있게 되는것이다.