私はopenGLが初めてで、レッドブックを読んでいます。さて、演習として、手動で球を描きたいと思います。そのために、球をスライスとスタックに分割しているため、複数の長方形が得られますが、球の極の近くでは三角形が得られます。(これが私がやっていることを明確にしていることを願っています)。GL_POLYGON で多角形を描画し、たまたまそれ自体が交差した場合、動作は未定義であることがわかりました。私の質問は次のとおりです。1 つの行にない 3 つの点 v1、v2、v3 が与えられた場合、これを行う未定義の動作は次のとおりです。
glBegin(GL_POLYGON)
vertex v1
vertex v1
vertex v2
vertex v3
glEnd();
これは 2 つの無関係な質問を 1 つに結合している可能性がありますが、これも疑問に思っています: 球ルーチンで長方形を三角形に分割することを選択した場合、どのように分割するか、つまり、長方形をどの対角線で分割するかは重要ですか?二つの三角形?単色の球体を描く場合は問題ないと思いますが、テクスチャ、シェーダー、照明などについてはわかりません。