ちょっと質問です。XP、DirectX 9.0 SDK (October 2004)、GeForce 9600GT を使っています。
今、ビューポートを画面と同じサイズにして3Dモデルを描画しています。
これを、例えばそのまま 100px 左にずらして描画したいのですが、方法がわかりません…。

単純にモデルの位置をずらしても、カメラとの角度が変わってしまうため、見た目が変わります。
奥行き自体は表現したいので、平行投影にすることはできません。

単純にビューポートを左にずらした場合、つまり D3DVIEWPORT9::x = -100 とした場合、何も描画されなくなりました。
(SetViewport で D3DERR_INVALIDCALL が返ってくると思ったのですが、エラーは返って来ませんでした。)

一度、テクスチャに描画してからあらためて D3DFVF_XYZRHW でそのテクスチャを描画すればうまく行くのですが、
これだけのために2段階描画にするのも…と思いますし、他のモデルとの奥行きを考えるのが難しくなります。

今考えてるのは、射影行列を頑張って作る方法(左右対称ではなく、右に偏ったカメラを作る)ですが、
なかなか上手くいきません…。

もっと単純にずらす方法はないでしょうか?
よろしくお願いします。