私は、opengl ウィンドウと gtk ウィンドウがあるプロジェクトに取り組んでいます。今、gtk から opengl を制御できるようにしたいと考えています。
Gtk ウィンドウには、イメージ ジェネレーターを呼び出すボタンがあり、この後、opengl ウィンドウを再描画して結果を確認したいのですが、ボタンをクリックしたコールバックから表示関数を呼び出しても何も起こりません。これまでのところうまくいったと思うのは、glutIdleFuncをディスプレイ機能に設定したときだけでした。そのようにして、openglウィンドウは常に再描画されましたが、もっと良い方法があるはずだと私には思えます。また、条件変数をチェックするためにglutTimerFuncを試しましたが、もっと良い方法があります。
私の考えは、ボタンをクリックするたびに、opengl 表示関数を直接伝えたり、信号を送ったり、呼び出したり、または glutMainLoop に反復を強制したりできるようにすることですが、その方法が本当にわかりません。
何か案は?