小澤様 from杉村
At 08:57 03/12/14 Sunday, you wrote:
小澤です.
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: を
確認するのが確実です.
noとなっておりました.
> 上記状況から再度考えますと, どうも, IdleFuncで指定したルーチンがコー
ルされて
> ないような
> 感じがするのでございますが...........お宮入りになりそうな気配でございます.
glutIdleFunc() で呼んでいる関数内と glutDisplayFunc() で呼んでいる関数
内で,何かを出力させてみて確認してはどうでしょうか?
glutPostRedisplay() が呼んであるのであれば,何もしない状態で
glutIdleFunc() と glutDisplayFunc() が交互に呼ばれ続けているはずです.
そのとき,実際に描画に使用しているデータと,メモリ上で書き換えたデータ
を出力することが可能であれば,正しく呼ばれているのかと,正しいデータが
使われているのが分かると思います.
printfをdisplayとmyidle(IdleFuncの関数)に埋め込みました.
ウインドウを動かすと, displayのprintfの出力がkterm画面に5〜6個でますが,
myidleからのprintfはでませんので, IdleFuncの関数がコールされて
いない様です.......(すみません,息子が今日帰ってきますので....
帰えらなければなりません...., 次のメール見るのは,翌朝になります......)
取り急ぎ御礼申し上げます.
*******************************************
********************** Linux User since 1999 March. 素人無線局
世界中に友達を沢山作っ* JA6EET/1 (Handle:YAS) Op.License No.AAPA17
て, 何時かキットキット * yas@xxxxxxxxxxxxxxxxxxxx : Yasushi Sugimura
世界中の友達を訪ね回っ* (欧文電信大好き派) ひたちなか市は578 杉村 康
て見たいヨ! ヨ! 夢? * Ibaraki National College of Technology
*****************************************************************