Establecer el origen de la secuencia (Direct3D 9)

El método IDirect3DDevice9::SetStreamSource enlaza un búfer de vértices a un flujo de datos del dispositivo, creando una asociación entre los datos del vértice y uno de varios puertos de flujo de datos que alimentan las funciones de procesamiento primitivos. Las referencias reales a los datos de la secuencia no se producen hasta que se llama a un método de dibujo, como IDirect3DDevice9::D rawPrimitive.

Una secuencia se define como una matriz uniforme de datos de componentes, donde cada componente consta de uno o varios elementos que representan una sola entidad, como posición, normal, color, etc. El parámetro Stride especifica el tamaño del componente, en bytes.

En el código siguiente se muestra cómo establecer el origen de la secuencia y dibujar su contenido. La variable g_pVB es un LPDIRECT3DVERTEXBUFFER9 que contiene datos de vértices.

if( SUCCEEDED( g_pd3dDevice->BeginScene() ) )
{
    // Setup the world, view, and projection matrices
    SetupMatrices();

    // Render the vertex buffer contents
    g_pd3dDevice->SetStreamSource( 0, g_pVB, 0, sizeof(CUSTOMVERTEX) );
    g_pd3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX );
    g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 1 );

    // End the scene
    g_pd3dDevice->EndScene();
}

Para obtener más información sobre este código, consulte el siguiente tutorial: Tutorial 3: Uso de matrices

Representación de primitivos