Representación desde un búfer de vértices (Direct3D 9)

La representación de datos de vértices desde un búfer de vértices requiere algunos pasos. En primer lugar, debe establecer el origen de la secuencia llamando al método IDirect3DDevice9::SetStreamSource , como se muestra en el ejemplo siguiente.

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

El primer parámetro de IDirect3DDevice9::SetStreamSource indica a Direct3D el origen del flujo de datos del dispositivo. El segundo parámetro es el búfer de vértices que se va a enlazar al flujo de datos. El tercer parámetro es el desplazamiento desde el principio de la secuencia hasta el principio de los datos de vértices, en bytes. El cuarto parámetro es el paso del componente, en bytes. En el código de ejemplo anterior, el tamaño de un CUSTOMVERTEX se usa para el paso del componente.

El siguiente paso consiste en informar al sombreador de vértices que debe usar Direct3D llamando al método IDirect3DDevice9::SetVertexShader . El código de ejemplo siguiente establece un código FVF para el sombreador de vértices. Esto informa a Direct3D de los tipos de vértices con los que está tratando.

d3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX );

Después de establecer el origen de la secuencia y el sombreador de vértices, los métodos draw usarán el búfer de vértices. En el ejemplo de código siguiente se muestra cómo representar vértices desde un búfer de vértices con el método IDirect3DDevice9::D rawPrimitive .

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

El segundo parámetro que acepta IDirect3DDevice9::D rawPrimitive es el índice del primer vector del búfer de vértices que se va a cargar.

Búferes de vértices

Representación desde búferes de vértices e índices (Direct3D 9)