使OpenGL动画更快

时间:2014-03-20 21:12:27

标签: c++ opengl animation vertex-buffer

我想按顶点为GL_LINE_STRIP顶点设置动画。我现在就是这样做的(效率低下):

void renderFunc()
{
 glDrawElements(GL_LINE_STRIP, testCount, GL_UNSIGNED_INT, (GLvoid*)0);

if ( testCount < verts.size() )
    testCount++;
}

但是,它必须完全重绘顶点,因为它从头开始绘制而不是从它停止的位置绘制,这需要额外的时间。我想尝试一次绘制一个顶点以加快速度,除非有其他想法。

1 个答案:

答案 0 :(得分:0)

只是不要清除你的渲染目标。如果您要绘制到后台缓冲区,请删除这些函数:

glClearColor(...);
glClear(GL_COLOR_BUFFER_BIT);

(如果你渲染到任何其他目标,你已经知道如何去做;))

还要考虑保留未清除深度/模板缓冲区:

`GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT`


但是等等,表现真的那么糟糕,你会把毛茸茸的东西弄得一团糟吗?