相关疑难解决方法(0)

OpenGL - 索引缓冲困难

我有一个自定义文件格式,其中包含3D网格所需的所有信息(从3ds Max导出).我已经提取了顶点,顶点索引和法线的数据.

我向顶点数据,顶点索引和法线数据传递给OpenGL,我通过调用渲染网格 glDrawElements(GL_TRIANGLES,...)

一切看起来都正常,但正常情况.问题是法线具有不同的指数.并且因为OpenGL只能使用一个索引缓冲区,所以它对顶点和法线都使用该索引缓冲区.

如果你能建议我如何解决这个问题,我将非常感激.

需要注意的重要一点是顶点/普通数据没有"排序",因此我无法使用glDrawArrays(GL_TRIANGLES,...)- 网格无法正确渲染的功能.

有没有一种方法/算法可以用来对数据进行排序,以便可以正确绘制网格glDrawArrays(GL_TRIANGLES,..)?但即使有一个算法,还有一个问题 - 我将不得不复制一些顶点(因为我的顶点缓冲区由唯一的顶点组成 - 例如,如果你有立方体我的缓冲区将只有8个顶点)我不确定怎么做.

c++ opengl 3d rendering mesh

3
推荐指数
1
解决办法
3227
查看次数

标签 统计

3d ×1

c++ ×1

mesh ×1

opengl ×1

rendering ×1