【发布时间】:2015-03-19 01:54:03
【问题描述】:
大家!我目前正在使用 OpenGL 进行项目。我知道使用索引顶点属性进行渲染可以节省大量内存。这要求每个顶点属性都应该是唯一的,否则索引渲染的优势将不复存在。那么问题来了:
假设我想从 OBJ 文件中渲染一个具有立方体底座的雕像。据我所知,对于 OBJ 格式,一个顶点可以由多个方面共享。这意味着可以使用几个不同的法线来指定顶点,这些法线是共享顶点的面的法线。
情况1:对于雕像,我想对每个顶点的法线进行平均,以得到该顶点的唯一法线,因此可以使用索引渲染。更重要的是,每个面内的插值法线使雕像的外观更加平滑。
情况2:对于立方底,我想在渲染不同边时对顶点使用不同的法线,以使表面看起来像实际上一样平坦。
是否有通用的方法来处理上述情况?
我是否必须将雕像及其底座分成不同的物体并区别对待?
【问题讨论】:
-
我与此主题相关的几个旧答案:stackoverflow.com/a/23713424、stackoverflow.com/a/23356738。
-
谢谢你,雷托。这真的很有帮助!
标签: c++ opengl indexing opengl-es normals