directx9学習(ポリゴンの表示を増やす)
- 頂点データを増やす(InitVB関数内)
// Initialize three Vertices for rendering a triangle
CUSTOMVERTEX Vertices[] =
{
{ 150.0f, 50.0f, 0.5f, 1.0f, 0xffff0000, }, // x, y, z, rhw, color
{ 250.0f, 250.0f, 0.5f, 1.0f, 0xff00ff00, },
{ 50.0f, 250.0f, 0.5f, 1.0f, 0xff00ffff, },
{ 15.0f, 5.0f, 0.5f, 1.0f, 0xffff0000, }, // 小さい三角形を増やした
{ 25.0f, 25.0f, 0.5f, 1.0f, 0xff00ff00, },
{ 5.0f, 25.0f, 0.5f, 1.0f, 0xff00ffff, },
};
- 実際に頂点バッファを作るときに指定するサイズも増やす(InitVB関数内)
指定するのは、頂点数x頂点データ構造体のサイズ
// Create the vertex buffer. Here we are allocating enough memory
// (from the default pool) to hold all our 3 custom Vertices. We also
// specify the FVF, so the vertex buffer knows what data it contains.
if( FAILED( g_pd3dDevice->CreateVertexBuffer( 6*sizeof(CUSTOMVERTEX),
0, D3DFVF_CUSTOMVERTEX,
D3DPOOL_DEFAULT, &g_pVB, NULL ) ) )
{
return E_FAIL;
}
- 表示するときのポリゴン数も増やす(Render関数内)
g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 2 );
- 増やした結果
※directXでは3角形ポリゴンしか表示できないので、4角形を出すには3角形が2つ必要