0

質問して申し訳ありませんが、何が起こっているのか理解できません。

私はDirectX/SlimDXの新人です。現在、3Dポイントを表示するためのコントロールを作成しようとしています。私は、主に3番目のSlimDXチュートリアルを使用して、最も単純な種類のコードを作成しました。200x200のサイズのコントロールをフォームに配置し、その上にポイントを描画しようとしました。

    for (float i = -0.5f; i <= 0.5f; i += 0.001f)
         cloud.Add(new Vertex(i, 0.001f, 0));

これは、y座標が0に近く、x座標が-0.5から0.5の線です。

さて、私が理解しているように、ビューポートに長方形をマークすると、長方形のオリゴは中心にあります。現在、私のコントロールは200x200なので、ビューポートの作成時に(0,0,200,200)のビューポート長方形を提供します。したがって、この私の線は、y軸に沿った長方形の中心に表示される必要があります。しかし、私が得るものはこれです:

http://www.4shared.com/photo/xGlGwTWK/Untitled.html

私のラインはコントロールの一番下にあります。x座標は良いように見えますが、なぜ私の線が中央にあるはずの下部にあるのですか?

ゲームにはワールド、ビュー、プロジェクションマトリックスはまったく含まれていませんが、ラインはまだ間違った場所にあります。誰かが私に何が起こっているのか説明できますか?

私はここに私のプロジェクトのストリップバージョンをアップロードしました。3つの短いファイルだけで、可能な限り最も単純な図面を使用しています:http ://www.4shared.com/zip/uPKVbQKV/ScanForSO.html

皆さん、ありがとうございました。

4

1 に答える 1

0

私は答えを見つけたようです。これは、コントロールがPanelから派生しており、Panelの元のサイズ(Panelコンストラクターから設定されていると思います)が200x100であるためです。ただし、ビューポートを作成したときは、200x200に設定しました。したがって、オリゴはコントロールの下部中央にありました。次に、コントロールのサイズが200x200に変更され、デバイス/ビューポートが何らかの形で自動的に追従しました。

于 2013-01-16T10:24:29.540 に答える