我正在以多边形网格的形式在Blender中创建模型,并试图在OpenGL中加载和使用这些模型,如.obj和.ctm。
我的问题是,在OpenGL应用程序中使对象平滑的常识是什么?在搅拌机中使模型平滑,然后以.obj的形式导出模型,还是按原样导出模型,然后在OpenGL中使模型平滑?
我不是指光滑的线条,我想使整个对象光滑如下图所示。
显然,在搅拌机中平滑会增加文件大小、顶点计数等,而在OpenGL中使平滑需要更多的处理。但是,我不确定是否有可能在OpenGL中实现平滑。例如,我尝试了下面的代码,但它并没有帮助我使我的模型顺利。
glShadeModel(GL_SMOOTH);
glHint(GL_POLYGON_SMOOTH_HINT, GL_FASTEST);
glEnable(GL_POLYGON_SMOOTH);发布于 2015-12-15 22:54:31
您可能需要复习一些关于不同着色器模型的教程。光滑的着色器会插值你的脸的颜色,而实心的着色器会在单一的颜色上渲染每一张脸。有时,使用光滑的着色器可以单独创造光滑物体的错觉,计算成本通常可以忽略不计。根据对象的不同,您可能需要在导出之前添加一些顶点,以实现呈现后的平滑外观。
谷歌提出了这个结果,我敢打赌还有很多其他的教程可以供你参考。http://xoax.net/cpp/crs/opengl/lessons/Lesson5/
https://stackoverflow.com/questions/34300413
复制相似问题