小澤です.
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
--