Posted on 2008-08-05 15:07
orlando 閱讀(396)
評(píng)論(1) 編輯 收藏 引用
設(shè)置資源流與一個(gè)頂點(diǎn)緩存掛鉤,此流就是一個(gè)流入渲染管線的幾何信息的流。
下面的方法是用于設(shè)置一個(gè)資源流:
HRESULT IDirect3DDevice9::SetStreamSource(
UINT StreamNumber,
IDirect3DVertexBuffer9* pStreamData,
UINT OffsetInBytes,
UINT Stride
);
StreamNumber——確定我們的頂點(diǎn)緩存與哪一個(gè)資源流掛鉤。我們不使用多重流;因此我們總是使用0號(hào)流。
pStreamData——一個(gè)指向我們想與流掛鉤的那個(gè)頂點(diǎn)緩存的指針。
OffsetInBytes——相對(duì)流開始處的偏移量。以字節(jié)為單位,它指定被填入渲染管線的頂點(diǎn)數(shù)據(jù)的開始位置。通過檢查D3DCAPS9結(jié)構(gòu)中的D3DDEVCAPS2_STREAMOFFSET標(biāo)志,假如你的設(shè)備支持,那么這個(gè)參數(shù)就有一些非0值。
Stride——我們?cè)陧旤c(diǎn)緩存中操作的每個(gè)部分的流的字節(jié)大小。
例如,假設(shè)vb是一個(gè)已經(jīng)填充了頂點(diǎn)信息的頂點(diǎn)緩存:
_device->SetStreamSource( 0, vb, 0, sizeof( Vertex ) );