所以我一直在做一点OpenGL。3.3 版。它进展顺利。但是,有一个问题我想不出答案:如何支持一个系统,其中有未定义数量的模型和未定义的数据。我的意思的一个例子是,假设有一个模型,你想把它切成两半。将创建两个新对象,一个用于模型的每一半。创建新对象很简单(生成切割网格有点困难)。
我不认为微不足道的,因为我不知道该怎么做,就是将新的网格数据发送到 OpenGL。不可能只更新原始对象的 VBO,因为现在需要有两个 VBO。使用 glGenBuffers() 可以轻松地动态生成缓冲区。但是,在https://stackoverflow.com/a/10769008/2159051中,提到 genBuffers、deleteBuffers 在运行时调用起来很糟糕。
简而言之,处理动态数量的对象的正确方法是什么,每个对象都有单独的数据。