1

GLUTを使用してopenGLを使用しています。いくつかの関数を使用して独自のヘッダー ファイルを作成しています。そのうちの 1 つは、数字を入力して保存できる四角形です。ここでの問題は、どのキーが押されたか知りたい場合は、関数をkeyboardFuncコールバックに配置する必要がありますが、長方形も表示したいので、表示コールバックにも配置する必要があることです。キーボード コールバック関数で何も描画しないでください。

2 つの関数を作成できます。1 つは四角形を表示するためのもので、もう 1 つはキーのためのものですが、両方のために 1 つの関数が必要です。これどうやってするの?

4

2 に答える 2

1

GLFWは、必要なものすべてについてGLUTとほぼ同じですが、GLUTのようにすべてが悪夢になるわけではありません. 表示機能を制御できます。GLFW では、キーが押されたときの独自のコールバックを定義できます。そのコールバックは、固定長の場合、ベクトルまたは文字配列に押された char を保存できます。その後、表示ループでテキストをレンダリングできます。テキスト配列へのアクセスには注意してください。それを制御する必要がある場合があります。

于 2013-01-21T01:36:18.607 に答える
1

あなた自身が言うように、あなたはできません。1 つの関数を使用してキーボード イベントを処理し、もう 1 つの関数を描画に使用する必要があります。

できることは、すべての有効なキー押下をグローバル変数に保存し、表示機能でそれらを単純に描画することです。

GLUT にできるだけ早く再表示するように指示したい場合glutPostRedisplayは、キーボード コールバック関数を呼び出すことができます。

于 2013-01-20T17:54:04.177 に答える