close

Mesh數據的處理

執行D3DXLoadMeshFromX函數完成.X文件的加載後,Mesh的各種數據將存放在頂點緩衝區,頂點索引緩衝區,材質緩衝區,鄰接頂點緩衝區,特效屬性緩衝區,網格緩衝區中。其中,材質緩衝區(包含材質信息和紋理貼圖文件名信息),鄰接頂點緩衝區以及特效屬性緩衝區的地址由 D3DXLoadMeshFromX函數成功執行後返回,其他的緩衝區地址可利用ID3DXMesh接口函數來獲得。

.X網格的渲染和優化就是使用上面緩衝區的數據來進行的。頂點緩衝區給出了整個網格的頂點坐標列表(包括頂點坐標和頂點紋理坐標),頂點索引緩衝區給出了每個三角形面的頂點構成信息(三個頂點的索引值),從而間接給出了整個網格的所有三角形面的頂點信息說明,屬性緩衝區為每個三角形面的一個網格子集編號,即給出了網格的每個三角形面的分組號。具有同一個Subset編號的三角形,將使用相同的材質和紋理對象進行渲染。

Mesh網格的渲染,可以用一個for循環來進行,循環的次數為總的材質數。每一次循環都將那些具有相同Subset子集號的三角形面渲染出來,即渲染每個子集Subset。不過每次循環首先要設置渲染管道線的材質和紋理對象,

arrow
arrow
    全站熱搜

    createps 發表在 痞客邦 留言(0) 人氣()