0

DirectX コントロールのサイズを変更する標準的な方法を知りたいです。モデルがコントロールに表示され、サイズ変更後も同じサイズにしたいのですが、その環境の多くだけが表示されるはずです。

ビューポートとスワップチェーン バッファをリセットすることで何とかできましたが、別の方法 (カメラの移動) も可能でした。どれが「最良の」方法なのかわかりません。

4

1 に答える 1

1

ビューポートのサイズを変更すると、縦横比を変更するだけで表示領域が「より多く」表示されます。たとえば、ビューポートの幅と高さが 2 倍になった場合、縦横比は同じになるため、同じ画像が表示されますが、大きくなります。

対照的に、カメラを移動すると、表示される量が変わります。たとえば、カメラを後ろに移動すると、より多く表示されます。ただし、これは探しているものではない場合があります。単にビュー プロパティを変更するのではなく、カメラを物理的に別の場所に移動します。

おそらく探しているのは、カメラの投影プロパティを変更することです。これは、「PerspectiveFovLH」を使用して行われる可能性が高く、その入力は (「視野」、「アスペクト比」、「平面に近い z」、「zファープレーン」)。視野 (FOV) を広げると、より多くのシーンを見ることができます。アスペクト比を変更すると、適切にスケーリングされます。通常、アスペクト比は画面の幅と高さの比率である必要があります。より大きな画面で全体をより多く表示する場合は、画面のサイズを変更した分だけ FOV をスケーリングします。

于 2013-01-17T14:39:08.260 に答える