我有一些每帧都会更改的顶点数据,但因为我提前不知道顶点的(最大)数量,所以我必须使用glBufferData
每一帧,而不是使用glBufferSubData
. 我只在初始化期间分配 VAO/VBO 本身一次。
我的问题是:鉴于我正在使用glBufferData
每一帧(因此,我猜,每帧重新分配新的缓冲区),我应该使用GL_DYNAMIC_DRAW
orGL_STATIC_DRAW
吗?
我的直觉是,GL_STATIC_DRAW
因为我永远不会写入现有的缓冲区内存,但我想知道是否会影响同一 VBO 上的后续(而不是GL_DYNAMIC_DRAW
)调用中的任何内容。glBufferData
glBufferSubData