bate's blog

調べたこと実装したことなどを取りとめもなく書きます。

tutorial02の改造

A.四角形を表示せよ
→1.頂点配列を変更
 2.D3D11_BUFFER_DESC::ByteWidthフィールドを頂点配列の要素数に合わせる
 3.プリミティブ接続形態をトライアングルストリップに変更
 4.ID3D11DeviceContext::Drawの頂点数を頂点配列の要素数に合わせる


1.

SimpleVertex vertices[] =
 {
    XMFLOAT3( 0.5f, 0.5f, 0.5f ),
    XMFLOAT3( 0.5f, -0.5f, 0.5f ),
    XMFLOAT3( -0.5f, 0.5f, 0.5f ),
    XMFLOAT3( -0.5f, -0.5f, 0.5f ),
 };

2.

bd.ByteWidth = sizeof( SimpleVertex ) * 4;	// バッファーのサイズ(バイト単位)

3.

g_pImmediateContext->IASetPrimitiveTopology( D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP );

4.

g_pImmediateContext->Draw( 4, 0 );


B.プリミティブの色を赤にシェーダーで変更せよ
→Tutorial02.fxのピクセルシェーダーを変更する

//--------------------------------------------------------------------------------------
// Pixel Shader
//--------------------------------------------------------------------------------------
float4 PS( float4 Pos : SV_POSITION ) : SV_Target
{
    return float4( 1.0f, 0.0f, 0.0f, 1.0f );    // Yellow, with Alpha = 1
}