2

Ogre3D、CEGUI、OIS を使用して Ubuntu 用のアプリを構築しています。これはすべて期待どおりにコンパイルおよび実行されています。基本的なアプリを実行したので、グラフィック設定 (解像度、フルスクリーンなど) と、後でアプリで必要になるその他の構成可能な設定の両方を保存できるカスタム構成ファイルを作成することにしました。

出発点として、起動ごとに mRoot->showConfigDialog() を呼び出すことから次のように変更しました。

if(!mRoot->restoreConfig())
    mRoot->showConfigDialog();

これは、存在する 'ogre.cfg' ファイルから構成を復元することを意図していたので、そうしましたが、最初のシーン作成でスカイボックス テクスチャをロードする必要があり、何もせずにそこに座っていました。

とにかくそれは私が望んでいたものではなかったので、次のように手動で設定しようとしました:

RenderSystem *rs = mRoot->getRenderSystemByName("OpenGL Rendering Subsystem");
mRoot->setRenderSystem(rs);
rs->setConfigOption("Full Screen","No");
rs->setConfigOption("Video Mode","1024 x 768");

それらは、showConfigDialog() 関数から以前に使用していた「ogre.cfg」の設定と一致しました。この手動構成でも同じ問題が発生しましたが、スカイボックス テクスチャをロードしているときに停止します。

これらの変更がアプリの実行方法にまったく影響を与える理由がわかりません.OISが入力を取得してマウスを画面にロックするため、gdbでデバッグしようとすると問題が発生します.

4

1 に答える 1

1

マウスのロックに関しては、別のディスプレイで gdb を実行できます。同じコンピューター上のディスプレイ (現在のディスプレイにネストされた仮想ディスプレイを作成するXephyrなどのオプションを含む)、または別のディスプレイ上の単なる 2 番目のセッションのいずれかです。時間は単純です)、またはネットワーク上の別のマシンにある場合もあります (つまり、ssh -X 経由)。

于 2010-01-27T04:17:29.493 に答える