Share via


꼭짓점 버퍼에서 렌더링(Direct3D 9)

꼭짓점 버퍼에서 꼭짓점 데이터를 렌더링하려면 몇 단계가 필요합니다. 먼저 다음 예제와 같이 IDirect3DDevice9::SetStreamSource 메서드를 호출하여 스트림 소스를 설정해야 합니다.

d3dDevice->SetStreamSource( 0, g_pVB, 0, sizeof(CUSTOMVERTEX) );

IDirect3DDevice9::SetStreamSource의 첫 번째 매개 변수는 Direct3D에 디바이스 데이터 스트림의 원본을 알려줍니다. 두 번째 매개 변수는 데이터 스트림에 바인딩할 꼭짓점 버퍼입니다. 세 번째 매개 변수는 스트림의 시작부터 꼭짓점 데이터의 시작까지의 오프셋(바이트)입니다. 네 번째 매개 변수는 구성 요소의 stride(바이트)입니다. 위의 샘플 코드에서 CUSTOMVERTEX의 크기는 구성 요소의 보폭에 사용됩니다.

다음 단계는 IDirect3DDevice9::SetVertexShader 메서드를 호출하여 사용할 꼭짓점 셰이더를 Direct3D에 알리는 것입니다. 다음 샘플 코드는 꼭짓점 셰이더에 대한 FVF 코드를 설정합니다. 이를 통해 Direct3D에서 처리하는 꼭짓점 유형을 알 수 있습니다.

d3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX );

스트림 원본 및 꼭짓점 셰이더를 설정한 후 그리기 메서드는 꼭짓점 버퍼를 사용합니다. 아래 코드 예제에서는 IDirect3DDevice9::D rawPrimitive 메서드를 사용하여 꼭짓점 버퍼에서 꼭짓점을 렌더링하는 방법을 보여줍니다.

d3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 1 );

IDirect3DDevice9::D rawPrimitive에서 허용하는 두 번째 매개 변수는 로드할 꼭짓점 버퍼의 첫 번째 벡터 인덱스입니다.

꼭짓점 버퍼

꼭짓점 및 인덱스 버퍼에서 렌더링(Direct3D 9)