Настройка источника stream (Direct3D 9)
Метод IDirect3DDevice9::SetStreamSource привязывает буфер вершин к потоку данных устройства, создавая связь между данными вершин и одним из нескольких портов потока данных, которые передают примитивные функции обработки. Фактические ссылки на потоковые данные не возникают, пока не будет вызван метод рисования, например IDirect3DDevice9::D rawPrimitive.
Поток определяется как универсальный массив данных компонента, где каждый компонент состоит из одного или нескольких элементов, представляющих одну сущность, например положение, нормальное состояние, цвет и т. д. Параметр Stride указывает размер компонента в байтах.
В следующем коде показано задание источника потока и рисование его содержимого. Переменная g_pVB — это LPDIRECT3DVERTEXBUFFER9, содержащий данные вершины.
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();
}
Дополнительные сведения об этом коде см. в следующем руководстве: Учебник 3. Использование матриц
Связанные темы