vine-users ML アーカイブ



[vine-users:063467] Fwd: Re: OpenGL のアクティブウインドウ に関しまして ( 補足 )

  • From: Yasushi Sugimura <yas@xxxxxxxxxxxxxxxxxxxx>
  • Subject: [vine-users:063467] Fwd: Re: OpenGL のアクティブウインドウ に関しまして ( 補足 )
  • Date: Mon, 15 Dec 2003 09:23:52 +0000
小澤様           from Yas

  巻末のメールに関して,補足いたします.

OpenGLを起動直後のグラフィック出力直後には, displayの後にmyidleからのprintfが,
(親プロセスの)ktermの画面に,1回のみ出力されております.(すなわち,IdleFuncの
記述は誤っていないことになります.)

  その後, myidleからのprintfの出力が止まってしまいます(myidleのコールがなされ
なくなります.)

  グラフィック出力のWindowを移動すると,グラフィックは正常に出力され, displayが
コールされていることがprintfの出力からもわかるのですが, その後も,myidleからの
printfの出力がでません.
  すなわち, myidleは,1回だけ正常にコールされていますが, その後, コールされなく
なっている様に見えます.

以上,補足申し上げます.

Delivered-To: vine-users@xxxxxxxxxxx
Date: Sun, 14 Dec 2003 19:27:09 +0000
From: Yasushi Sugimura <yas@xxxxxxxxxxxxxxxxxxxx>
Reply-To: vine-users@xxxxxxxxxxx
Subject: [vine-users:063457] Re: OpenGLのアクティブウインドウに関しまして
To: vine-users@xxxxxxxxxxx (vine-users ML)
X-ML-Name: vine-users
X-Mail-Count: 063457
X-MLServer: fml [fml 3.0pl#17]; post only (only members can post)
X-ML-Info: If you have a question, send e-mail with the body"help" (without quotes) to the address vine-users-ctl@xxxxxxxxxxx;help=<mailto:vine-users-ctl@xxxxxxxxxxx?body=help>
X-Mailer: QUALCOMM Windows Eudora Version 5.0.2-J
X-Sender: yas@xxxxxxxxxxxxxxxxxxxxxxxxx
Lines: 66

小澤様             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
*****************************************************************


*************************************************
杉村  康
国立茨城工業高等専門学校  電子情報工学科
〒312-8508  茨城県ひたちなか市中根866
TEL  029-271-2954     FAX 029-273-3771(学科事務室)
E-mail  yas@xxxxxxxxxxxxxxxxxxxx
*************************************************