カメラはBeginの前で、スプライトはBeginとEndの間
E3DのWikiでカメラが一瞬おかしくなるという質問を出してみました。
いただいた回答によると、内部的な処理の都合上、
E3DBeginSceneの前でカメラの設定をすればいいみたいです。
なーんだ、それなら簡単じゃん!(^^)
と思ったのもつかの間、問題が浮上してしまいました。
現在のプログラムの大枠は以下のようになっています。
repeat
E3DBeginScene
(シーン用ルーチン)
E3DChkInView
E3DRenderE3DEndScene
waitbyfps 30
loop
上の(シーン用ルーチン)というところで、
スプライトの貼り付けから、カメラの設定まで
シーン描画に必要な処理を一括して行っているわけです。
で、この構造を維持したまま、
カメラ処理をE3DBeginSceneの前にもってくる
(かつ、スプライト処理はBeginとEndの間にないといけない)
ということは…
となって、煩雑になってしまいます。それだけのことなんですが、repeat
(カメラ用シーンルーチン)
E3DBeginScene
(カメラ以外用シーンルーチン)
E3DChkInView
E3DRenderE3DEndScene
waitbyfps 30
loop
シーンルーチン自体が結構、複雑なので、なかなか厄介なんですね。
じっくり治すか、あるいは、最悪、
「おかしくなるのは一瞬だからいいや」で済ますという方向ですかね?