当我使用面法线在OpenGL中照亮我的人体模型时,很明显每个面在模型上的位置。使用顶点法线时,照明会变得相当平滑,但仍然很明显。是否有任何技术可用于平滑有机模型而不添加额外的顶点(例如,细分)?
发布于 2009-06-04 23:50:37
如果您看到的是具有逐顶点法线的单个面,则可能忘记了启用平滑朝向:
glShadeModel(GL_SMOOTH);
如果这不能帮助确保所有具有相同位置的顶点也具有相同的法线。然而,这应该由搅拌器自动完成。也有可能你的模型只有太少的多边形。如果是这样的话,你要么使用更多的多边形,要么像basszero说的那样做。Create a normal map并将其与GLSL着色器一起使用。
发布于 2009-06-04 18:48:14
如果你有一个更高分辨率的模型/网格,或者一个像样的3d modeling tool,可以通过细分或其他奇特的方法创建高分辨率模型……
GLSL per-pixel-lighting + normal maps
更新:
http://www.blender.org/development/release-logs/blender-246/render-baking/
发布于 2009-06-04 22:15:15
https://stackoverflow.com/questions/954039
复制