【发布时间】:2012-06-25 05:30:15
【问题描述】:
根据 opengl 规范 4.0 glDrawPixels 已被弃用。
对于 cuda 互操作性,似乎最好使用“opengl 缓冲区对象”。 (替代方法可能是纹理或表面,但它们存在缓存/并发问题,因此不适用于我的 cuda 内核)。
我只是想创建一个 cuda 内核,它使用这个映射的 opengl 缓冲区对象并将其用作“像素数组”或一块保存像素的内存,稍后缓冲区被取消映射。
然后我希望 opengl 程序将缓冲区对象绘制到帧缓冲区。我想使用未弃用的 opengl api。
还有哪些其他方式/api可以将缓冲区对象绘制到帧缓冲区? (也不能使用渲染缓冲区,因为它们可能与 cuda 数组/缓存问题有相同的问题,所以这排除了帧缓冲区对象/扩展?!?)。
现在 glDrawPixels 已被弃用,opengl 4.0 中是否存在空白/缺失功能?还是有其他选择?
【问题讨论】:
-
我不明白。您的第一点指出,建议将 OpenGL 缓冲区对象用于 CUDA/OpenCL-OpenGL 互操作(它们确实如此)。您是在寻找其他替代方案还是该途径存在问题?
标签: opengl