在第一步中mesh被加载,现在是渲染它的时候了。每一个材质都被分成一个子集。为了渲染每一个子集,需要在一个循环语句中渲染mesh。循环中的第一步是对子集设置材质。如下所示:
g_pd3dDevice->SetMaterial( &g_pMeshMaterials[i] );
循环中的第二步是对子集设置纹理,如下所示:
g_pd3dDevice->SetTexture( 0, g_pMeshTextures[i] );
在设置完材质和纹理之后,需要调用ID3DXBaseMesh::DrawSubset渲染每个子集,如下所示:
g_pMesh->DrawSubset( i );
ID3DXBaseMesh::DrawSubset函数带有一个DWORD参数,它指明了绘制mesh的哪一个子集。本例中使用一个循环中的递增变量。