在OpenGL中平滑面边缘的技巧

Kai*_*Kai 2 opengl lighting smoothing

当我使用面法线在OpenGL中点亮我的人体模型时,每个面都在模型上的位置非常明显.使用顶点法线,照明变得相当平滑但仍然明显.是否有任何技术可用于平滑有机模型而无需添加额外的顶点(例如细分)?

Mau*_*den 6

如果您看到每个顶点法线的单面,您可能忘记启用平滑面:

glShadeModel(GL_SMOOTH);
Run Code Online (Sandbox Code Playgroud)

如果这没有帮助确保具有相同位置的所有顶点也具有相同的法线.但这应该由搅拌机自动完成.您的模型也可能只有很少的多边形.如果是这种情况,你要么必须使用更多的多边形,要么做贝塞罗所说的.创建法线贴图并将其与GLSL着色器一起使用.