【发布时间】:2013-12-31 16:50:12
【问题描述】:
我即将尝试 Cuda 和 OpenGL 互操作性。我使用 OpenGL(普通的 texture_2d)渲染画布几何图形,并生成了两个 texture_2d 对象。第一个 texture_2d 包含原始图像数据。它显示得很好,然后我想使用这个 opengl 纹理作为 cuda 中的源纹理。
我希望 Cuda 根据原始图像数据 (newColor = 1.f - originalColor) 执行负色图像,并将每帧的结果存储在第二个 texture_2d 对象中。
我尝试了 simpleCUDA2GL 示例和本教程:http://3dgep.com/?p=2082,但当我将第二个 texture_2d 对象绑定到我的着色器时,我看到的只是 gpu 上的旧纹理内存内容。
所以我想问一下是否有人可以分享一个可行的(可能是 cuda 5.5)示例(尽可能简单,使用 opengl 纹理(不是 pbos)),或者关于我的问题的详细教程。
【问题讨论】:
-
展示你的作品。 SO 期望:“有关您编写的代码问题的问题必须在问题本身中描述具体问题 - 并包括重现它的有效代码。请参阅 SSCCE.org 以获得指导。”投票结束。
-
没有 cuda 错误检查?提供完整的代码而不是 sn-ps。阅读 sscce.org
-
好像没有人做任何错误检查!也许 CUDA 应该开始抛出异常(至少在调试模式下)。
-
虽然调试 e 只不过是 cudaSuccess ......而完整的代码将是大约 1500 行代码......所以......
-
我很确定您可以在不到 1500 行的时间内围绕您在此处显示的内容创建完整的代码。我猜你还没有阅读 sscce.org。它不是要求您的 完整代码,而是要演示该问题的简短 完整代码。是的,这需要您的努力。
标签: c++ opengl cuda interop textures