COM객체인 ID3DXBuffer 인터페이스는 D3DX가 연속적인 메모리 블록에 데이터를 저장하기 위해 이용하는 범용 데이터 구조체로, 다음과 같은 두개의 메서드를 가진다.
GetBufferPointer |
버퍼내의 데이터에 대한 포인터를 얻어온다. |
GetBufferSize |
버퍼내의 데이터의 합계 바이트수 사이즈를 얻어온다. |
이 ID3DXBuffer에는 정점, 인접성, 메트리얼에 관한 정보를 저장한다.
ID3DXBuffer 인터페이스를 얻어오려면,
D3DXCreateBuffer 함수를 호출한다.
또한 메모리 누출을 막기 위해 반드시 이용이 끝난 뒤에는 객체를 풀어주어야 한다.(Release)
D3DXCreateBufferHRESULT D3DXCreateBuffer(
DWORD NumBytes,
LPD3DXBUFFER *ppBuffer
);
첫번째 인자는 버퍼의크기, 사이즈 이며 두번째 인다는 생성된 버퍼를 가르키는 포인터이다.
ID3DXBuffer* b = 0;
D3DXCreateBuffer(4 * sizeof(int), &b);
위와 같이 코딩하면 세 개의 정수를 보관할 수 있는 버퍼를 만들수 있게 되는것이다.