2017-04-12 7 views
0

SharpDX(VB.net)で基本的なコーディングを開始しましたが、すでに2Dの三角形をレンダリングしています。私は他の2Dのものをレンダリングする方法を知っていますが、私は3Dで何かを作成して、カメラをいくつかのキューブの周りで回転させることができます。私はそれを試しましたが、3D空間を画面座標に変換するのに失敗しました。今ここに私の質問があります:SharpDX 3D環境をレンダリングする方法

  • 私はどのようにして遠近法の投影法を計算できますか?
  • Matrixを頂点シェーダに渡すにはどうすればいいですか
  • マウスを画面上にドラッグすると、カメラをオブジェクトの周りに回転させるにはどうすればよいですか?

私にこれらのことを説明し、いくつかのコード例を挙げてください。私はSharpDXのちょうど初心者です。私が見つけたものはすべて私にとっては理解できませんでした。

+0

人々はいつも説明してくれますが、StackOverflowの人々は通常、人のためのコードサンプルを無料ではなく作成しません; P – Jaxi

+0

私はプロジェクトXD全体ではない短い例を意味しました。 stackoverflowを見てみると、たくさんのコード例が見つかります – TimoHo

答えて

1

初めて起動するときにできることはいくつかあります。

まず、あなたが学ぶために使用できるいくつかの素晴らしい例があります(VBでも必要ですが)。

これをSharpdxリポジトリ内で見ることをお勧めします。 Sharpdx direct 3d 11 samples

これらの例(特に三角形の例)では、デバイスの設定、GPUにバインドする単純なリソースの作成、バイトコードのコンパイルなどの基本を説明します。

サンプルはエフェクトメソドロジを使用していますが、非難されています。コードをコンパイルするのに慣れたら、このパラダイムから離れるようアドバイスします。

より高度な例では、マトリックスの設定方法を説明します。

最後に知りたいのは、マウスの動きです。私はmousemoveイベントの周りのMSDNを見てみることをお勧めします。ウィンドウ/コントロールにバインドして、デルタを読み取る必要があります。これらのデルタを使用して、これに基づいて回転/移動を作成します。 Vector3(sharpdx)を見てみましょう。基本的には、ベクトル空間でこれをすべて実行し、それからさまざまな変換/回転行列を作成する必要があります。

希望はこれです。

+0

ありがとうございます。私はこれを行うことができることを願っています:) – TimoHo

+0

私は確信しています! – ErnieDingo

関連する問題