2012-06-12 147 views
2

我试图用openGLES 2.0获得平稳的照明效果。 我从搅拌机中导出了一个.obj实体,并将其转换为顶点和正常C数组中的obj文件(使用obj2openGL - http://heikobehrens.net/2009/08/27/obj2opengl/ )。然后我在iPhone上的openGL ES应用程序中绘制该数据。 问题是,实体的面有平坦的光照(每个面的颜色相同)。我想要一个平滑的效果,而不使用每个碎片照明。 我试图增加面的数量,但没有结果。OpenGL ES 2.0顶点照明

在openGLES2.0上有一个控制这种效果的功能(平滑vs平面照明)吗?

+0

而且它不可能是Blender导出的.obj文件首先具有每面法线?我对Blender没有多少经验,但建模程序通常会在输出为简单和广泛的格式时感到厌倦(尽管Blender的开源特性可能会在这方面有所不同)。 –

+1

谢谢基督教徒,同时我试图做每片闪电获得相同的平面效果。相反,我在同一个应用程序上手动创建的球体看起来非常平滑。所以我用相同的方法创建了一个以0,0,0为中心的简单立方体,生成的法线似乎是面部法线! (例如1,0,0 ...)。 – Alex79

+1

一旦SO允许你,你可以发布你的解决方案作为一个完整的答案,然后接受它?这会让我们成为幸福的人:-) – 2012-06-12 12:39:01

回答

1

我解决了这个问题。为了使用搅拌器将.obj中的顶点法线导出,必须选择“阴影平滑”(在编辑模式下按Ctrl-F并选择阴影模式时)。希望这可以帮助别人!非常感谢基督徒,这是最简单的解决方案。