小澤です. From: Yasushi Sugimura <yas@xxxxxxxxxxxxxxxxxxxx> Subject: [vine-users:063455] Re: OpenGL のアクティブウインドウに関しまして Date: Sun, 14 Dec 2003 13:53:04 +0000 > > > OpenGLでのプログラムでは, displayでグラフィックを書いて, アイドル > > > コールバックで, glutPostRedisplayを実行しているので, OpenGLのWindow > > > に, 親プロセスが書き込んだデータで描画する筈と思っているのですが..... > > > (そこに基本的な認識ミスがありますのでしょうか?) > > > > > > 親プロセスのKtermのウインドウがアクティブな場合, OpenGLのWindow > > > には,アイドルコールバックではglutPostRedisplayだけではdisplayをコール > > > してくれないのでしょうか? > >glutDisplayFunc() に display() を指定していて, > >glutIdleFunc() で glutPostRedisplay() を実行していて, > >glutMainLoop() で回っているのですよね? > おっしゃる通りでございます. > 他のウインドウを移動して,重ねると, 本来出力すべきグラフィックが正常に出力され > ます. > XのBackingStoreとは何なのかよくわからなかったのですが, Webで調べまくった結果, > /etc/X11/XF86Config-4とXF86Config内には, BackingStoreの 記述はありませんでした. > (いれてもみましたが状況は変化しませんでした.) BackingStore が効いていてるかどうかは,xdpyinfo の出力で options: を 確認するのが確実です. > 上記状況から再度考えますと, どうも, IdleFuncで指定したルーチンがコールされて > ないような > 感じがするのでございますが...........お宮入りになりそうな気配でございます. glutIdleFunc() で呼んでいる関数内と glutDisplayFunc() で呼んでいる関数 内で,何かを出力させてみて確認してはどうでしょうか? glutPostRedisplay() が呼んであるのであれば,何もしない状態で glutIdleFunc() と glutDisplayFunc() が交互に呼ばれ続けているはずです. そのとき,実際に描画に使用しているデータと,メモリ上で書き換えたデータ を出力することが可能であれば,正しく呼ばれているのかと,正しいデータが 使われているのが分かると思います. -- name : Noriaki OZAWA ----- e-mail : ozawa@xxxxxxxxxxxxxxxxxx ----- http://www1.u-netsurf.ne.jp/%7Eozawa/ ----- movie, computer, mystery, music : favorite ----- ymo, escher, xevious : special --