我注意到在为OpenGL 4.0列出的新功能中包括以下内容:
绘制由OpenGL或外部API(如OpenCL)生成的数据, 没有CPU干预。
这指的是什么功能?
答案 0 :(得分:3)
它在谈论ARB_draw_indirect。该功能(4.0中的核心)允许GL实现直接从缓冲区对象读取绘图参数。因此,您传递给glDrawArrays
或glDrawElements
的参数来自缓冲区,而不是来自您的Draw调用。
这样,OpenCL或其他GPGPU代码就可以将该结构写入缓冲区。因此,他们可以确定要绘制多少个顶点。
AMD有一个非常漂亮的变体,允许multi-draw functionality。