DirectX11に基づく3dsmaxへのレンダラープラグインを作成しています。
3ds maxから実際のビューポートマトリックスを取得しています。これは、外観を反転した後、次のようになります。[Rx Ry Rz] [Ux Uy Uz] [Dx Dy Dz] [Px Py Pz]
- ここで、Rは右、Uは上、D id方向、Pは位置です。
このビューマトリックスをDirectXに適用しています(rastertekチュートリアルに基づいています:http ://www.rastertek.com/dx11tut04.html )が、自分でビューマトリックスを作成する代わりに、3dsmaxのこのビューマトリックスを使用しています。同じ構造:[Rx Ry Rz 0] [Ux Uy Uz 0] [Dx Dy Dz 0] [Px Py Pz 1]
max viewportのビューとDirectXウィンドウのレンダリングされたビューはほとんど同じに見えるため、最初はすべて問題ないように見えます。ただし、最大ビューポートとDirectXウィンドウの変換は同じではありません。カメラの位置を最大で移動すると、DirectXのカメラターゲットが代わりに移動し、カメラのターゲット(またはカメラを回転)を最大で移動すると、DirectXのカメラの位置が代わりに移動します。
助けてくれてありがとう...私は3日間それを理解することができません...