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