opengl - "Drawing of data generated by OpenGL or external APIs such as OpenCL, without CPU intervention."

标签 opengl

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

Drawing of data generated by OpenGL or external APIs such as OpenCL, without CPU intervention.

这到底指的是什么功能?

最佳答案

它正在谈论 ARB_draw_indirect .该功能是 4.0 的核心功能,允许 GL 实现直接从缓冲区对象读取绘图参数。因此,您将传递给 glDrawArraysglDrawElements 的参数来自缓冲区,而不是来自您的 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/

相关文章:

c++ - OpenGL - 矩形中的模板测试

multithreading - 从线程内执行 OpenGL 绘图

cocoa 和OpenGL : fastest way to draw array of rectangles

OpenGL着色器: a spotlight and a directional light

python - OpenGL获取投影矩阵

opengl - opengl中如何画2D平滑曲线

c - 如何定义绝对值的顶点?

c++ - 在 opengl 中将立方体转换为球体

c++ - 在 OpenGL 中设置 MVP 矩阵

opengl - OpenGL纹理缓冲区对象的目的是什么?