Posted on 2008-08-10 22:19
orlando 閱讀(407)
評論(0) 編輯 收藏 引用
在學習頂點緩存與索引緩存(一)的代碼中
改成下面這樣就達到目的
//頂點數據
CUSTOMVERTEX g_Vertices[10];
g_Vertices[0].x = 300;
g_Vertices[0].y = 250;
g_Vertices[0].z = 0.5f;
g_Vertices[0].rhw = 1.0f;
g_Vertices[0].color = 0xffff0000;
//g_Vertices[9]=g_Vertices[0];
for(int i=0; i<8; i++)
{
g_Vertices[i+1].x = (float)(200*sin(i*3.14159/4.0)) + 300;
g_Vertices[i+1].y = -(float)(200*cos(i*3.14159/4.0)) + 250;
g_Vertices[i+1].z = 0.5f;
g_Vertices[i+1].rhw = 1.0f;
g_Vertices[i+1].color = 0xff00ff00;
}
g_Vertices[9]=g_Vertices[1];
g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLEFAN, 0,8 );
索引緩存可以不止一次的引用同一頂點,這提供了超過三角形列表的性能優勢,因為可以多次重復使用一個頂點,也提供了超過三角形帶的創造優勢,因為創造過程不那么復雜。