我注意到在为 OpenGL 4.0 列出的新功能中包括以下内容:
Drawing of data generated by OpenGL or external APIs such as OpenCL, without CPU intervention.
这到底指的是什么功能?
最佳答案
它正在谈论 ARB_draw_indirect .该功能是 4.0 的核心功能,允许 GL 实现直接从缓冲区对象读取绘图参数。因此,您将传递给 glDrawArrays
或 glDrawElements
的参数来自缓冲区,而不是来自您的 Draw 调用。
这样,OpenCL 或其他 GPGPU 代码就可以将该结构写入缓冲区。因此,他们可以确定要绘制多少个顶点。
AMD 对此有一个非常漂亮的变体,允许 multi-draw functionality .
关于opengl - "Drawing of data generated by OpenGL or external APIs such as OpenCL, without CPU intervention.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8884663/