DirectX

C#でツールを作る その10 -ライティング-

影(shadow)ではなく、陰(shade)ですね。 表面の模様はテクスチャを使うので、今回から頂点色は使いません。 マテリアル Material[] material = new Material[ 1 ]; material[ 0 ].Diffuse = Color.White; material[ 0 ].Ambient = material[ 0 ].Diffuse…

C#でツールを作る その9.1 -Meshクラス-

前回のエントリでは、VertexBufferとIndexBufferを自分で作って描画していましたが、 複数のモデルを描画する際、モデル毎にVertexBuffer、IndexBufferを作るのは大変です。 モデルクラス的なものを自作してもいいですがそれも面倒です。ということで、Direc…

C#でツールを作る その4 -2Dポリゴン-

3Dの前に軽く2Dをやってみます。 サンプル tool04.zip VisualC#2008 ExpressEdition用 DrawUserPrimitives()で描画 まずは頂点バッファを使わずに頂点配列を直接渡します。 2D頂点座標、頂点色 CustomVertex.TransformedColored 頂点配列を直接渡す private …

C#でツールを作る その7 -グリッドと軸の描画-

グリッドと軸 3D頂点座標、頂点色 CustomVertex.PositionColored 1辺が1のラインをX方向、Z方向にそれぞれ11本=11*2ライン X軸、Y軸、Z軸=3ライン PrimitiveType.LineListで描画 とりあえず全体を5倍で描画 private VertexBuffer grid_axis…

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

3D描画のための準備が出来たので、実際に単純な3Dポリゴンを描画してみましょう。 サンプル tool06.zip 3D用頂点配列 3D頂点座標、頂点色、テクスチャ座標 CustomVertex.PositionColoredTextured CustomVertex.PositionColoredTextured[] v = new CustomVert…

C#でツールを作る その5 -3Dポリゴン 準備編-

3D描画のための設定はいろいろ面倒ですねぇ。 3Dを使い始めた頃は何を設定していいのか全然わからなくて、非常に困りました。 少しでも設定が足りないと何も描画されないですからね。エラーとか警告を出してくれれば楽なんですが。。。 デバイス生成時のパラ…

C#でツールを作る その3.1 -ApplicationContextを使ってみる-

前回C#でツールを作る その3-デザインの変更- - while( c++ );のMain()は以下のようになっていますが、 static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); using( Hoge hoge = new Hoge() ) …

C#でツールを作る その3-デザインの変更-

ツールっぽいデザインに変更してコントロールに対して描画します。 フォーム Form.spritContainer.Panel1に追加するUserControl。ここに描画します。 実行結果 ソース Hoge.cs アプリケーションクラス using System; using System.Collections.Generic; usin…

C#でツールを作る その2-文字列の描画-

まずは描画の基本、文字列ですね。 実行結果 ソース フォントの作成 文字列の描画 namespace WindowsFormsApplication1 { public partial class Form1 : Form { /*...*/ private Microsoft.DirectX.Direct3D.Font font = null; /*...*/ private void Form1_L…

C#でツールを作る その1-Direct3Dの初期化-

DirectXの解説サイトはたくさんあるのでググって下さい。 とりあえずこことか http://sorceryforce.com/manageddirectx/direct3d_stepup.html VisualC#2008ExpressEditionを使っています。 実行結果 ソース デバイスの初期化、解放 バックバッファの塗りつぶ…