首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法获得纹理显示正确的三维模型

无法获得纹理显示正确的三维模型
EN

Stack Overflow用户
提问于 2013-08-31 18:31:07
回答 2查看 256关注 0票数 0

我用“为OpenGL学习OpenGL ES :现代3D图形编程的动手指南”一书“尝试”学习iOS

我已经到了一个阶段,我正试图在测试程序中加载一个3D模型来确认我的知识,虽然我可以让模型显示出来,但是它看起来是颠倒的,纹理看起来是部分显示(或者显示不正确)。

我试过GL_BLEND,GL_DEPTH_TEST,使用矫形器,但没有用矫形器,但我意识到我可能遗漏了什么东西,integral..thinking,这可能与面部正常人有关?

以下是应该出现的情况:

我得到的是:

有人能帮忙吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-03 14:45:33

这本书的作者为我看了这本书,发现了以下几点:

.obj模型是使用“四边多边形”生成的,但OpenGL ES只能绘制点、线和三角形。结果,每个四角只呈现了一半(一个三角形)。

打开搅拌机中的.obj文件并使用三角形导出,结果显示正确。

感谢埃里克·巴克抽出时间帮助他的一位读者,也感谢@clayMontgomery对他的帮助;

票数 0
EN

Stack Overflow用户

发布于 2013-09-01 17:08:54

我认为你的球体模型的代码假设背面剔除或者要求相反的绕线方向(时钟方向或反时钟方向)对它的三角形条。您应该尝试正确地初始化OpenGL ES,以满足该代码的要求。我想试试这个:

代码语言:javascript
复制
gl.glDisable(GL10.GL_CULL_FACE);

代码语言:javascript
复制
gl.glEnable(GL10.GL_CULL_FACE);
gl.glFrontFace(GL10.GL_CCW);
gl.glCullFace(GL10.GL_BACK);

代码语言:javascript
复制
gl.glEnable(GL10.GL_CULL_FACE);
gl.glFrontFace(GL10.GL_CW);
gl.glCullFace(GL10.GL_BACK);

有关更多信息,请参见OpenGL红皮书第2章中的“多边形详细信息”:

代码语言:javascript
复制
http://www.glprogramming.com/red/chapter02.html
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18551514

复制
相关文章

相似问题

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