【发布时间】:2018-03-14 21:59:10
【问题描述】:
如果我在 GPU 内存中已经有一个 af::array A,将它传递给 OpenGL 的过程是什么?我的意图是使用 OpenGl 将其绘制为折线图,但我不确定如何处理 Arrayfire 的后端可能是 OpenCl、CUDA 甚至 CPU 的事实。 OpenGL如何实现数组的所有权?如果可能,我希望避免复制。
另外,如果我要使用内置的 forge 库在 Arrayfire 中绘制图表,我发现如果我按照教程绘制图表,只需按住图表中的数据并拖动它在其他地方,数据图从其原始位置移动,不再与轴正确对齐。有没有办法纠正这个问题?
【问题讨论】:
-
你至少需要两个着色器,顶点和片段。如果您的数组是 GLBuffer 顶点数据,请在着色器中使用它。推荐 David_Wolff OpenGL4 Shading Language Cookbook。这是一种
Modern OpenGL RedBook。 -
@VictorGubin 我知道如何单独使用 OpenGL,我想知道如何用一组信息填充 OpenGL 缓冲区,这些信息源自我在 Arrayfire 中的信息,不需要不必要的复制以设置 OpenGL 缓冲区。
-
并使用 OpenCL 构建。 BUILD_OPENCL 使用 cmake。
标签: c++ opengl opencl arrayfire