【问题标题】:OpenGL Texture filled by CUDA just contains old memory content [closed]由CUDA填充的OpenGL纹理只包含旧的内存内容[关闭]
【发布时间】: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


【解决方案1】:

【讨论】:

猜你喜欢
  • 2011-03-24
  • 2014-12-15
  • 2011-10-02
  • 1970-01-01
  • 2012-01-08
  • 1970-01-01
  • 2012-09-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多