vine-users ML アーカイブ



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

  • From: Yasushi Sugimura <yas@xxxxxxxxxxxxxxxxxxxx>
  • Subject: [vine-users:063455] Re: OpenGL のアクティブウインドウ に関しまして
  • Date: Sun, 14 Dec 2003 13:53:04 +0000

小澤様         from  Yas

  応答誠にありがとうございます.
  下記の御質問にお答えいたします.

At 02:30 03/12/13 Saturday, you wrote:
小澤といいます.

最近 OpenGL を使ってませんのではずすかもしれません.

From: Yasushi Sugimura <yas@xxxxxxxxxxxxxxxxxxxx>
Subject: [vine-users:063421] OpenGL のアクティブウインドウに関しまして
Date: Thu, 11 Dec 2003 22:02:41 +0000

>    OpenGLでのプログラムでは, displayでグラフィックを書いて, アイドル
> コールバックで, glutPostRedisplayを実行しているので, OpenGLのWindow
> に, 親プロセスが書き込んだデータで描画する筈と思っているのですが.....
> (そこに基本的な認識ミスがありますのでしょうか?)
>
> 親プロセスのKtermのウインドウがアクティブな場合, OpenGLのWindow
> には,アイドルコールバックではglutPostRedisplayだけではdisplayをコール
> してくれないのでしょうか?

このあたりの表現の仕方がちょっと気になるので,

glutDisplayFunc() に display() を指定していて,
glutIdleFunc() で glutPostRedisplay() を実行していて,
glutMainLoop() で回っているのですよね?

おっしゃる通りでございます.


それなら大丈夫のように思えるのですが・・・

最初に描画されたグラフィックは,他のウインドウに隠された場合に
きちんと再描画されているでしょうか?

他のウインドウを移動して,重ねると, 本来出力すべきグラフィックが正常に出力され ます.

再描画されるなら,glutPostRedisplay() が効いているということになるので
他の原因と考えることができます.
#Xのバッキングストアが効いていると,そうとも言えなくなりますけど.

XのBackingStoreとは何なのかよくわからなかったのですが, Webで調べまくった結果,
/etc/X11/XF86Config-4とXF86Config内には, BackingStoreの 記述はありませんでした.
(いれてもみましたが状況は変化しませんでした.)

実際のプログラムが分からないので推測の域をでませんが,
X側で特別な設定はいらないはずなので,プログラム上の問題だと思います.
イベント処理の問題なのか,データのやりとりの問題なのかは判断できかねま
す.

上記状況から再度考えますと, どうも, IdleFuncで指定したルーチンがコールされて ないような
感じがするのでございますが...........お宮入りになりそうな気配でございます.

取り急ぎ御礼申し上げます.

                                        *******************************************
**********************  Linux User since 1999 March.    素人無線局
世界中に友達を沢山作っ* JA6EET/1 (Handle:YAS)    Op.License No.AAPA17
て, 何時かキットキット     *  yas@xxxxxxxxxxxxxxxxxxxx :    Yasushi Sugimura
世界中の友達を訪ね回っ*  (欧文電信大好き派) ひたちなか市は578  杉村 康
て見たいヨ! ヨ!   夢?      *   Ibaraki National College of Technology
*****************************************************************