vine-users ML アーカイブ



[vine-users:063456] Re: OpenGL のアクティブウインドウ に関しまして

  • From: Noriaki OZAWA <ozawa@xxxxxxxxxxxxxxxxxx>
  • Subject: [vine-users:063456] Re: OpenGL のアクティブウインドウ に関しまして
  • Date: Sun, 14 Dec 2003 17:57:25 +0900 (JST)
小澤です.

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
                                                   --