首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Stage3D剔除混淆

Stage3D剔除混淆
EN

Stack Overflow用户
提问于 2011-12-30 08:15:25
回答 2查看 752关注 0票数 0

在OpenGL中,默认设置是:

协调系统=右转,+x->right, +y->up, +z->towards-viewer.

  • Therefore,在z周围的正旋转将x基向量移动到y (anti-clockwise).

  • Front-facing多边形,定义为:

实现了后面的CCW vertices.

  • Culling。

glEnable(GL_CULL_FACE);glCullFace(GL_BACK);

好吧,我们都知道。在Flash 11/Molehill/Stage3d中,默认设置应该是相同的。

但是,如果我在第4步中通过以下方法启用后台剔除:

代码语言:javascript
复制
c3d.setCulling(Context3DTriangleFace.BACK);

我的脸被剔除了。默认情况是Context3DTriangleFace.FRONT,我在OpenGL和Stage3D中创建了一个正常检查用例,它们在其他方面是相同的。相同的顶点/索引列表,保留默认值,相同的正交投影矩阵,恒等ModelView,但我必须设置裁剪前,而不是后面。

这就好像Stage3D有一个不同的绕组违约。也就是说,就好像在引擎盖下,OpengGL被设置为: glFrontFace(GL_CW);而不是OpenGLs默认值: glFrontFace(GL_CCW);

还有其他人遇到过这个吗?快把我逼疯了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-28 11:40:22

我很久以前就打算回答这个问题,但忘了,所以我现在就回答。

我是对的,Stage3D认为正面是屏幕空间中的CW缠绕,而不是OpenGL的CCW。我希望这对来自OpenGL的任何人都有帮助。只需反转索引缓冲区索引的顺序,或将筛选模式更改为最前面。我决定改变索引顺序。

干杯,

沙恩

票数 1
EN

Stack Overflow用户

发布于 2011-12-30 12:04:10

也许其中一个正面顺时针方向,另一个逆时针方向。glFrontFace(GL_CW);glFrontFace(GL_CCW);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8677498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档