カメラはBeginの前で、スプライトはBeginとEndの間

E3DのWikiでカメラが一瞬おかしくなるという質問を出してみました。
いただいた回答によると、内部的な処理の都合上、
E3DBeginSceneの前でカメラの設定をすればいいみたいです。



なーんだ、それなら簡単じゃん!(^^)
と思ったのもつかの間、問題が浮上してしまいました。



現在のプログラムの大枠は以下のようになっています。

repeat

 E3DBeginScene

(シーン用ルーチン)
 
 E3DChkInView
 E3DRender

E3DEndScene

waitbyfps 30

loop

上の(シーン用ルーチン)というところで、
スプライトの貼り付けから、カメラの設定まで
シーン描画に必要な処理を一括して行っているわけです。



で、この構造を維持したまま、
カメラ処理をE3DBeginSceneの前にもってくる
(かつ、スプライト処理はBeginとEndの間にないといけない)
ということは…

repeat

(カメラ用シーンルーチン)

 E3DBeginScene

(カメラ以外用シーンルーチン)
 
 E3DChkInView
 E3DRender

E3DEndScene

waitbyfps 30

loop

となって、煩雑になってしまいます。それだけのことなんですが、
シーンルーチン自体が結構、複雑なので、なかなか厄介なんですね。

じっくり治すか、あるいは、最悪、
「おかしくなるのは一瞬だからいいや」で済ますという方向ですかね?