В OpenGL настройкой по умолчанию является:
- Система координат = правша, с
+x->right, +y->up, +z->towards-viewer
. - Поэтому, положительное вращение вокруг z сместит xбазисный вектор к y (против часовой стрелки).
- Лицевые многоугольники определены как вершины CCW.
- Выбраковка граней выполняется с помощью:
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);
Хорошо, мы все это знаем.Во Flash 11/Molehill/Stage3d
значения по умолчанию должны быть одинаковыми.
Однако, если я включаю отбраковку обратной стороны на шаге 4 с помощью:
c3d.setCulling(Context3DTriangleFace.BACK);
, мои лица отбраковываются.Кажется, по умолчанию это Context3DTriangleFace.FRONT.Я создал случай проверки работоспособности в OpenGL и Stage3D, которые в остальном идентичны.Тот же список вершин / индексов, оставьте значения по умолчанию, та же матрица ортогональной проекции, идентичность ModelView, но я должен установить выбрано значение FRONT, а не BACK.
Как будто в Stage3D по умолчанию используется другая обмотка.то есть, как будто под капотом OpengGL было установлено: glFrontFace (GL_CW);вместо OpenGL по умолчанию: glFrontFace (GL_CCW);
Кто-нибудь еще сталкивался с этим?Это сводит меня с ума ...