Nanashi-soft○プログラマ専用○DirectX11開発○
const int TYOUTEN = 3; //ポリゴンの頂点数↓4に変更
const int TYOUTEN = 4; //ポリゴンの頂点数当然,頂点データも4つ分,というか四角形のものが必要だろうと
//頂点データ(三角ポリゴン1枚)↓四角形に変更
Vertex3D hVectorData[TYOUTEN] = {
{ { +0.0f, +0.5f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } },
{ { +0.5f, -0.5f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } },
{ { -0.5f, -0.5f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } }
};
//頂点データ(四角ポリゴン1枚)頂点バッファ作成時のデータ量や,描画時の頂点数は TYOUTEN定数で変わるようにしておいたので,これで実行すれば四角形になる‘はず’です
Vertex3D hVectorData[TYOUTEN] = {
{ { +0.5f, +0.5f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } },
{ { -0.5f, +0.5f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } },
{ { +0.5f, -0.5f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } },
{ { -0.5f, -0.5f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } }
};
ID3D11RasterizerState* hpRasterizerState = NULL;ちなみに,D3D11_FILL_SOLIDを,D3D11_FILL_WIREFRAMEにするとワイヤーフレーム表示になるっぽいです(最初それでハマりました)
D3D11_RASTERIZER_DESC hRasterizerDesc = {
D3D11_FILL_SOLID,
D3D11_CULL_NONE, //ポリゴンの裏表を無くす
FALSE,
0,
0.0f,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE
};
if(FAILED(hpDevice->CreateRasterizerState(&hRasterizerDesc, &hpRasterizerState))){
MessageBox(hWnd, _T("CreateRasterizerState"), _T("Err"), MB_ICONSTOP);
goto End;
}
//ラスタライザーをコンテキストに設定
hpDeviceContext->RSSetState(hpRasterizerState);
//プリミティブ(ポリゴンの形状)をコンテキストに設定↓4頂点に変更
hpDeviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
hpDeviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);ていうか,ここ調べた時に自分でポリゴンの形状指定だとコメント書いてたし(^^;
const int TYOUTEN = 5; //ポリゴンの頂点数頂点データを5つ分用定義する
//頂点データ(五角ポリゴン1枚)プリミティブ(ポリゴンの形状)は変更しなくても描画されました
Vertex3D hVectorData[TYOUTEN] = {
{ { +0.0f, +0.8f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } },
{ { +0.5f, +0.5f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } },
{ { -0.5f, +0.5f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } },
{ { +0.5f, -0.5f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } },
{ { -0.5f, -0.5f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } }
};
const int TYOUTEN = 6; //ポリゴンの頂点数頂点データを6つ分用定義する
//頂点データ(六角ポリゴン1枚)
Vertex3D hVectorData[TYOUTEN] = {
{ { +0.0f, +0.8f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } },
{ { +0.5f, +0.5f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } },
{ { -0.5f, +0.5f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } },
{ { +0.5f, -0.5f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } },
{ { -0.5f, -0.5f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } },
{ { +0.0f, -0.8f, +0.5f }, { 1.0f, 1.0f, 1.0f, 1.0f } }
};