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

有帮助吗?

解决方案

如果你看到一个面孔与您可能忘记实现了流畅的面对每顶点法线:

glShadeModel(GL_SMOOTH);

如果这不是帮助确保与同一位置的所有顶点也有同样正常。这应该由搅拌机但是自动完成。它也可能是您的模型只是太少多边形。如果这是你要么必须使用更多的多边形还是说了什么basszero的情况。 创建的法线图和使用与一个GLSL着色在一起。

其他提示

如果您可以访问更高分辨率的模型/网格或者可能是一个不错的模型 3D建模工具 可以通过细分或其他奇特的方法创建高分辨率模型......

GLSL 每像素照明 + 法线贴图

更新:

http://www.blender.org/development/release-logs/blender-246/render-baking/

是有许多不同的技术。其一是首先计算一个正常的每个面(这你可能正在使用的脸的顶点),并使用这些法线计算新法线为每个顶点。

下面的一个,你计算的五个平均相邻三角形。

干杯!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top