프로그래밍/DirectX

정점 버퍼

이재만박사 2015. 8. 7. 16:23

GPU가 정점 배열에 접근할 수 있으려면 배열의 정점들을 버퍼라고 부르는 특별한 자원에 담아 두어야 한다. Direct3D 코드에서 버퍼는 ID3D11Buffer 인터페이스로 대표된다.


정점들을 담는 버퍼를 정점 버퍼라고 부른다. Direct3D의 버퍼들은 자료를 담을 뿐만 아니라, CPU나 GPU가 자료에 어떻게 접근할 수 있고 버퍼가 파이프라인의 어디에 묶이는지에 대한 정보도 가진다.

정점 버퍼를 생성하려면 다음과 같은 과정을 거쳐야 한다.

1. 생성할 버퍼를 서술하는 D3D11_BUFFER_DESC 구조체를 채운다.

2. 버퍼의 초기화에 사용할 자료를 서술하는 D3D11_SUBRESOURCE_DATA 구조체를 채운다

3. ID3D11Device::CreateBuffer를 호출해서 버퍼를 생성한다.