C++ FBX型号';s面(某些)未正确渲染

C++ FBX型号';s面(某些)未正确渲染,c++,opengl,model,fbx,C++,Opengl,Model,Fbx,我在Maya中创建了一个基本球体,并将其加载到我的OpenGL项目中。我遇到的问题如下所示: 如您所见,球体是三角形的 但是,当模型加载到我的项目中时,某些面无法正确渲染 以下是我的Maya FBX导出设置(选中): 常规选项 -默认文件扩展名 -保留引用 当前预设值 -用户定义 几何图形 -光滑网格 将NURBS曲面转换为: -软件渲染网格 -引用容器内容 嵌入媒体 -嵌入媒体 单位 -自动的 轴转换 -上轴:Y UI -显示警告管理器 -生成日志数据 FBX文件格式 -类型:二进制 -版

我在Maya中创建了一个基本球体,并将其加载到我的OpenGL项目中。我遇到的问题如下所示:

如您所见,球体是三角形的

但是,当模型加载到我的项目中时,某些面无法正确渲染

以下是我的Maya FBX导出设置(选中):

常规选项 -默认文件扩展名 -保留引用

当前预设值 -用户定义

几何图形 -光滑网格

将NURBS曲面转换为: -软件渲染网格 -引用容器内容

嵌入媒体 -嵌入媒体

单位 -自动的

轴转换 -上轴:Y

UI -显示警告管理器 -生成日志数据

FBX文件格式 -类型:二进制 -版本:FBX 2013

你知道为什么会这样吗?我正在使用FBX SDK 2013

编辑:


在发帖时没有意识到白色三角形(标记为“坏三角形”)是由于简单的灯光渲染而出现的。但他右边的扩展条才是真正的问题。

在我的youtube视频上看到了你的问题

在我看来,你的一些三角形在扩展条上被剔除了。也许杆上的一些三角形有不正确的缠绕?要检查的东西。检查三角形上的缠绕,并使用opengl消隐面进行游戏

至于阴影,我以前见过类似的东西。看起来您可能需要启用平滑着色,而不是平面着色。尝试调用glShadeModel(GL_平滑)

还可以尝试调用glDisable(GL\u TEXTURE\u 2D)。如果一个纹理被启用,并且没有给出适当的纹理坐标,它可能会产生奇怪的平面着色三角形,就像你看到的那样

我唯一能想到的另一种可能性就是你的法线设置不正确。以下是发生这种情况的几个原因:

  • 您没有正确导出法线
  • 您没有正确地将法线导入顶点缓冲区对象,或者缓存信息
  • 您的着色器(假设您没有使用即时模式)没有读取或处理法线,则法线将正确
  • 希望这有帮助。祝你好运