共用方式為


FVF 頂點緩衝區 (Direct3D 9)

IDirect3DDevice9::CreateVertexBuffer 方法的 FVF 參數設定為非零值,這必須是有效的 FVF 程式代碼,表示緩衝區內容是以 FVF 程式代碼為特徵。 使用 FVF 程式代碼建立的頂點緩衝區稱為 FVF 頂點緩衝區。 某些方法或使用 IDirect3DDevice9 需要 FVF 頂點緩衝區,而其他則需要非 FVF 頂點緩衝區。 FVF 頂點緩衝區是 IDirect3DDevice9::P rocessVertices的目的地頂點緩衝區自變數。

FVF 頂點緩衝區可以系結至任何數據流編號的源數據流。

FVF 頂點緩衝區上D3DFVF_XYZRHW元件的存在表示已處理該緩衝區中的頂點。 用於 IDirect3DDevice9::P rocessVertices 目的地頂點緩衝區的頂點緩衝區必須經過後續處理。 用於固定函式著色器輸入的頂點緩衝區可以預先處理或后處理。 如果頂點緩衝區經過後處理,則會有效地略過著色器,並將數據直接傳遞至基本裁剪和設定模組。

FVF 頂點緩衝區可以搭配頂點著色器使用。 此外,頂點數據流可以代表非 FVF 頂點緩衝區可以的相同頂點格式。 它們不一定用來從個別頂點緩衝區輸入數據。 新頂點數據流的額外彈性可讓需要將其數據分開的應用程式更妥善地運作,但並非必要。 如果應用程式可以事先維護交錯的數據,則這是效能提升。 如果應用程式只會在每次轉譯呼叫之前交錯數據,則應該啟用 API 或硬體,以使用多個數據流來執行這項作。

頂點效能最重要的事情是使用32位元組頂點,並維護良好的快取順序。

頂點緩衝區