OpenGL では、デフォルトの設定は次のとおりです。
- 座標系 = 右利き、
+x->right, +y->up, +z->towards-viewer
. - したがって、z を中心とした正の回転は、x 基底ベクトルを y (反時計回り) に移動します。
- 正面向きのポリゴンは、CCW 頂点として定義されます。
- 背面フェースのカリングは、次の方法で実現されます。
glEnable(GL_CULL_FACE); glCullFace(GL_BACK);
わかりました、私たちは皆これを知っています。Flash11/Molehill/Stage3d
では、デフォルトは同じであると想定されています。
ただし、手順 4 で背面カリングを有効にすると、次のようになります。
c3d.setCulling(Context3DTriangleFace.BACK);
私の顔は選別されています。デフォルトはContext3DTriangleFace.FRONTのようです。それ以外は同じである OpenGL と Stage3D でサニティ チェック ケースを作成しました。同じ頂点/インデックス リスト、デフォルトのまま、同じ正投影行列、同一の ModelView ですが、カリングを BACK ではなく FRONT に設定する必要があります。
Stage3D の巻き取りのデフォルトが異なるようです。つまり、ボンネットの下で OpengGL が次のように設定されているかのようです: glFrontFace(GL_CW); OpenGL のデフォルトの代わりに: glFrontFace(GL_CCW);
他の誰かがこれに出くわしましたか? それは私を夢中にさせています...