ワイヤーフレーム遅い

OpenGL でワイヤーフレーム表示すると
普通にシェーディングするより遅いというのは前から気付いてたが,
SprayModeler の確認画面がいつの間にか裏面ワイヤーフレームになっていた.
修論にフレームレートを書こうと思って SGI 版と同じポリゴン数にしたら異様に遅いので,
去年のヤツを引っ張り出してきたらそっちは速い.
どこが違うのかさんざん調べたら
*1,なんとたったそれだけの違いだった.この時間のないときに….
しかし分からんのは,いったんワイヤーフレーム表示すると,
普通のシェーディングに戻しても遅いのだ.
どっかにまだワイヤーフレームが残ってるのかなあ.
そういえば Windows に移行したての頃,この現象をちょっと調べて分からないから
あきらめてずーっと普通にシェーディングすればいいや
という結論に達したような気がしてきた….

と思ったら解決.ワイヤーフレーム表示のために

    glPolygonMode(GL_BACK, GL_LINE);

としたら,その後普通のシェーディングするときに

   glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);

としなければ裏側はワイヤーフレームで書こうとしてるようだ.
これはたとえ

    glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);

としてあっても関係ないみたい.

それからもうひとつはまったこととして,
ツールバーの設定をレジストリに読み書きするところ.
ここ の一番下の方「要注意!レジストリの罠」にも書かれてるが,
どうにも原因不明なときは CMainFrame::OnCreate() をステップ実行してみると
LoadBarState(“ToolBarState”); で落ちる.
いったんこれをコメントアウトすると復活した.



*1
:その去年のソースに現在のをどんどん付け足していった.所要時間 約1時間半
たぽ
  • たぽ
  • カレン(ST206 3S-GE VVT-i)、BRZ(ZC6 RAエアコン有)でサーキットを走ってます。
    クルマ弄りは基本的にDIY。そのため(?)にガレージ付きの家建てました。

    数年前から登山にも目覚め、時々アウトドアな日記・動画もアップしてます。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください