[解決済み] glutDisplayFuncとglutPostRedisplayの関係性を理解する。
質問
赤本を読んでいると、こんなことが書いてありました。
glutDisplayFunc(void (*func)(void))です。 最初の、そして最も重要なイベント コールバック関数を見ることができます。 GLUTが ウィンドウのコンテンツが必要です。 再表示されると、コールバック関数 glutDisplayFunc()で登録される。 が実行されます。そのため 再描画に必要なすべてのルーチン シーンを表示するコールバック 関数を使用します。
プログラムが内容を変更した場合 を使用しなければならない場合があります。 を呼び出す必要があります。 を呼び出すようにglutMainLoop()に働きかけています。 登録された表示コールバックは 次の機会
glutPostRedisplay()が呼び出されるのはどのような場合ですか?このパラグラフからは、なぜその機能が必要なのか理解できません。
解決するには?
glutDisplayFuncは、ウィンドウを再描画する必要があるときはいつでも呼び出されます。これは,glutPostRedisplay :) を呼び出す時を含む.
ウィンドウを再描画する必要があるのは、どのような場合ですか?
- サイズが変わったとき
- 可視化されたとき
- 一部が見えるようになったとき
- 移動させたとき
- その他
しかし、表示関数が、マウスの位置によって決まるx;yの位置に三角形を描くとしたらどうでしょう。この場合、マウスが移動するたびにシステムにウィンドウを再描画するように要求しなければなりませんね?そのため、MouseFunc()からglutPostRedisplayを呼び出すことになります。実際、glutPostRedisplayを呼び出すと、再描画イベントは、マウスのクリックなどの他のウィンドウイベントと一緒にキューに入れられます。本質的に、あなたのmainLoopが行うことは、そのキューからイベントをピックアップし、それらのハンドラを呼び出すことです。
関連
-
[解決済み] glEnableVertexAttribArrayは具体的に何をするのですか?
-
[解決済み] glReadPixelsはどのように動作するのですか?
-
[解決済み] ハードウェアカーソルとはどのようなもので、どのように機能するのですか?
-
[解決済み] glGetShaderiv() GL_COMPILE_STATUS GL_FALSE を返す
-
[解決済み] glRotate(angle,x,y,z), この場合のx,y,zは何ですか?
-
[解決済み] 最新のOpenGLで複数のテクスチャをレンダリングするには?
-
[解決済み] glDeleteBuffers()はいつ呼び出すべきですか?
-
GLMライブラリの概要 glm::transform, glm:scale, glm::rotate
-
[解決済み] gl_FragColorとout vec4カラーを使用する?
-
[解決済み] OpenGLでglLoadIdentity()は何をするのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] X リクエストが失敗したときのエラー。BadValue (整数パラメータが操作の範囲外です)
-
[解決済み] glEnableVertexAttribArrayは具体的に何をするのですか?
-
[解決済み] glGetShaderiv() GL_COMPILE_STATUS GL_FALSE を返す
-
[解決済み] OpenGL GLXエクステンションはサポートされていません
-
[解決済み] gl_FragColorとout vec4カラーを使用する?
-
[解決済み] glRotate(angle,x,y,z), この場合のx,y,zは何ですか?
-
[解決済み] コンセプト:glDrawBufferとglDrawBuffersの使い分けは?
-
[解決済み] gl_FragColorとout vec4カラーを使用する?
-
[解決済み] OpenGL - glDepthMaskの使い方についての質問です。
-
[解決済み] GL_COLOR_BUFFER_BITとGL_DEPTH_BUFFER_BITは何のためにあるのでしょうか?