“绘制由OpenGL或外部API(如OpenCL)生成的数据,无需CPU干预。”

时间:2012-01-16 18:36:18

标签: opengl

我注意到在为OpenGL 4.0列出的新功能中包括以下内容:

  

绘制由OpenGL或外部API(如OpenCL)生成的数据,   没有CPU干预。

这指的是什么功能?

1 个答案:

答案 0 :(得分:3)

它在谈论ARB_draw_indirect。该功能(4.0中的核心)允许GL实现直接从缓冲区对象读取绘图参数。因此,您传递给glDrawArraysglDrawElements的参数来自缓冲区,而不是来自您的Draw调用。

这样,OpenCL或其他GPGPU代码就可以将该结构写入缓冲区。因此,他们可以确定要绘制多少个顶点。

AMD有一个非常漂亮的变体,允许multi-draw functionality