【发布时间】:2009-06-05 02:34:23
【问题描述】:
当我在 OpenGL 中使用面部法线照亮我的人体模型时,每个面部在模型上的位置非常明显。使用顶点法线,光照变得相当平滑,但仍然很明显。是否有任何技术可用于在不添加额外顶点(例如细分)的情况下平滑有机模型?
【问题讨论】:
当我在 OpenGL 中使用面部法线照亮我的人体模型时,每个面部在模型上的位置非常明显。使用顶点法线,光照变得相当平滑,但仍然很明显。是否有任何技术可用于在不添加额外顶点(例如细分)的情况下平滑有机模型?
【问题讨论】:
如果您看到每个顶点法线的单个面,您可能忘记启用平滑面:
glShadeModel(GL_SMOOTH);
如果这没有帮助,请确保具有相同位置的所有顶点也具有相同的法线。然而,这应该由搅拌机自动完成。也可能是您的模型的多边形太少。如果是这种情况,您要么必须使用更多多边形,要么按照 basszero 所说的做。 Create a normal map 并将其与 GLSL 着色器一起使用。
【讨论】:
如果您可以访问更高分辨率的模型/网格,或者可以通过细分或其他奇特方法创建高分辨率模型的体面的 3d modeling tool...
GLSLper-pixel-lighting + normal maps
更新:
http://www.blender.org/development/release-logs/blender-246/render-baking/
【讨论】:
【讨论】: