【发布时间】:2015-12-02 19:43:51
【问题描述】:
在带有着色器的 OpenGL 中,我想渲染两个已加载为两个网格的对象。每个对象由一组顶点位置、一组顶点颜色和一组三角形顶点索引表示。
我可以想到三种方法来绘制这两个对象。最佳做法是什么?
1) 我将两个对象的顶点位置连接成一个长的顶点数组,顶点颜色和顶点索引也类似。然后我创建一个顶点位置缓冲区、一个顶点颜色缓冲区和一个索引缓冲区。渲染时,我会调用glBindBuffer(...) 和glDrawElements(...)。
2) 我将两个对象的顶点位置连接成一个长的顶点数组,顶点颜色也类似。然后我创建一个顶点位置缓冲区和一个顶点颜色缓冲区。渲染时,我对glBindBuffer(...) 和glDrawElements(...) 进行两次调用,每个对象调用一次。
3) 我创建了两个顶点位置缓冲区、两个顶点颜色缓冲区和两个索引缓冲区。渲染时,我对glBindBuffer(...) 和glDrawElements(...) 进行两次调用,每个对象调用一次。
谢谢!
【问题讨论】:
-
您真的只渲染两个对象吗?还是你只是用那个数字来简化解释?
-
是的,它是两个 CAD 对象。两者都是我得到的网格。我想在同一个视口中渲染这两个对象。