C#でツールを作る その6 -3Dポリゴン 描画編-

3D描画のための準備が出来たので、実際に単純な3Dポリゴンを描画してみましょう。


サンプル

3D用頂点配列

  • 3D頂点座標、頂点色、テクスチャ座標
    • CustomVertex.PositionColoredTextured
CustomVertex.PositionColoredTextured[] v = new CustomVertex.PositionColoredTextured[ 4 ];
v[ 0 ] = new CustomVertex.PositionColoredTextured( -0.5f,  0.5f, 0.0f, Color.Red.ToArgb(), 0.0f, 0.0f );
v[ 1 ] = new CustomVertex.PositionColoredTextured(  0.5f,  0.5f, 0.0f, Color.FromArgb( 0, 255, 0 ).ToArgb(), 1.0f, 0.0f );
v[ 2 ] = new CustomVertex.PositionColoredTextured(  0.5f, -0.5f, 0.0f, Color.Blue.ToArgb(), 1.0f, 1.0f );
v[ 3 ] = new CustomVertex.PositionColoredTextured( -0.5f, -0.5f, 0.0f, Color.Yellow.ToArgb(), 0.0f, 1.0f );

描画

  • 頂点フォーマットを変更
//
//3D頂点+テクスチャ+頂点バッファ
//
device.SetStreamSource( 0, vertex, 0 );
device.SetTexture( 0, texture );
device.VertexFormat = CustomVertex.PositionColoredTextured.Format;
device.DrawPrimitives( PrimitiveType.TriangleFan, 0, 2 );