带有动态对象的OpenGL着色器

时间:2015-12-04 01:25:58

标签: opengl

我想用OpenGL着色器创建一个程序,它会在屏幕上呈现一些彩色的 blob 。现在,如果blob的数量是固定的,那么我将为每个blob的顶点位置创建一个具有一个VBO的VAO,并为每个blob的顶点颜色创建一个VBO。然后,在每个帧上,我将更新VBO中的顶点位置,然后相应地渲染顶点。

但是,在我的程序中,blob的数量并不固定。用户可以按下一个按钮删除blob,另一个按钮创建新的blob。因此,我上面的解决方案不起作用,因为我不想在VBO中绘制所有顶点,而且我还想为VBO添加额外的顶点。

这是什么解决方案?我应该根据当时存在的blob数量在每一帧上创建新的VBO(看起来很慢......)?或者我应该在每次创建新blob时增加VBO的大小(在内存中似乎效率低下,在任何情况下,我如何绘制已删除的blob ...)?或者有更好的解决方案吗?

0 个答案:

没有答案