通过 Blender 与 OpenGL 使对象平滑
Making objects smooth via Blender vs. OpenGL
我在 Blender 中创建模型作为多边形网格,并尝试在 OpenGL 中加载和使用这些模型作为 .obj
和 .ctm
。
我的问题是在OpenGL应用程序中使对象平滑的常识是什么?在搅拌机中平滑模型然后将其导出为 .obj
或按原样导出模型然后在 OpenGL 中平滑它们?
我说的不是平滑的线条,我是想让整个物体平滑as below image.
显然,在 Blender 中制作平滑会增加文件大小、顶点数等,而在 OpenGL 中制作平滑需要更多处理。但是,我不确定是否可以在 OpenGL 中进行平滑处理。例如,我试过下面的代码,但它并没有帮助我使我的模型变得平滑。
glShadeModel(GL_SMOOTH);
glHint(GL_POLYGON_SMOOTH_HINT, GL_FASTEST);
glEnable(GL_POLYGON_SMOOTH);
您可能想查看一些有关不同着色器模型的教程。
平滑着色器将插入您面部的颜色,而纯色着色器将以单一颜色渲染每个面部。有时使用平滑着色器可以单独创建平滑对象的错觉,并且计算成本通常可以忽略不计。根据对象的不同,您可能需要在导出之前添加一些顶点,以在渲染后获得平滑的外观。
Google 提出了这个结果,我敢打赌您可以查看许多其他教程。
http://xoax.net/cpp/crs/opengl/lessons/Lesson5/
我在 Blender 中创建模型作为多边形网格,并尝试在 OpenGL 中加载和使用这些模型作为 .obj
和 .ctm
。
我的问题是在OpenGL应用程序中使对象平滑的常识是什么?在搅拌机中平滑模型然后将其导出为 .obj
或按原样导出模型然后在 OpenGL 中平滑它们?
我说的不是平滑的线条,我是想让整个物体平滑as below image.
显然,在 Blender 中制作平滑会增加文件大小、顶点数等,而在 OpenGL 中制作平滑需要更多处理。但是,我不确定是否可以在 OpenGL 中进行平滑处理。例如,我试过下面的代码,但它并没有帮助我使我的模型变得平滑。
glShadeModel(GL_SMOOTH);
glHint(GL_POLYGON_SMOOTH_HINT, GL_FASTEST);
glEnable(GL_POLYGON_SMOOTH);
您可能想查看一些有关不同着色器模型的教程。 平滑着色器将插入您面部的颜色,而纯色着色器将以单一颜色渲染每个面部。有时使用平滑着色器可以单独创建平滑对象的错觉,并且计算成本通常可以忽略不计。根据对象的不同,您可能需要在导出之前添加一些顶点,以在渲染后获得平滑的外观。
Google 提出了这个结果,我敢打赌您可以查看许多其他教程。 http://xoax.net/cpp/crs/opengl/lessons/Lesson5/