質問 #6663300 から、glut 関数が適切ではないことを読みました。glut 関数の代わりに glu 描画プリミティブを使用する必要があります。
そのため、GLUquadricObj の使用方法についていくつか質問があります。どこに行っても、GLUquadricObj は通常ポインターとして使用され、1 つの描画フェーズの最後に新しいインスタンスが作成されて破棄されます。GLUquadricObj の参照を gluCylinder のような関数に渡すために、ポインタなしで GLUquadricObj が使用される特定の時間はありますか?
2 番目の質問では、プログラムが終了するまで継続的に更新されるアニメーションがあるとします。描画されるフレームごとに GLUquadricObj を作成して削除する必要がありますか? または、作成した GLUquadricObj を 1 つだけ残して、プログラムが閉じたときに削除することはできますか? アニメーション全体を通して GLUquadricObj ポインタを 1 つだけ保持したい場合、描画リストを使用する必要がありますか?
GLUquadricObj *qobj = 0; qobj = gluNewQuadric();
gluCylinder(qobj, CylinderRadius, CylinderRadius, 長さ, スライス, スタック);
gluDeleteQuadric(qobj);
GLUquadricObj をローカルではなくグローバルにする方が効率的ですか? または、描画されたフレーム内で GLUquadricObj を作成および破棄したままにする必要がありますか?