我有一个能够在 OpenGL 上下文中解析和解释 OBJ 文件格式的程序。
我在 Blender 中创建了一个小项目,其中包含一个带有“头发”粒子的简单球体。
转换后(从球体中分离粒子)我的粒子形成一个新的网格。所以我的项目中有两个网格(名为“Sphere”和“Hair”)。当我想在 OBJ 文件(文件/导出/Wavefront (.obj))中导出网格“球体”时,选择“包含法线”,导出后,该文件包含有关法线的所有信息(例如:vn 0.5889 0.14501 0.45455, ...)。
当我尝试对粒子做同样的事情时,也选择“包含法线”,我在 OBJ 文件中没有法线。(在导出之前,我已经选择了正确的网格。)
所以,我不明白为什么不为类型粒子的网格导出法线属性。
这是我的头发颗粒的一般 Blender 渲染图。如您所见,所有粒子都会与光发生反应。所以 Blender 使用这些粒子的法线属性。
现在,上图显示(在 Blender 的“编辑模式”-> 转换后)粒子由几行组成。在我的 opengl 程序中,我使用 GL_LINES 来渲染相同的粒子。我只想拥有法线信息来管理我的粒子上的光属性。
您知道如何导出粒子网格的法线属性吗?
在此先感谢您的帮助。