1

有没有办法在 OpenGL 中进行颜色转换(例如从 RGB 到 YUV420p 来回)?我可以使用后台缓冲区的内容、纹理或 FBO。我在这里看到了这个问题,但仅限于 OpenGL 1.1,并且我不受任何特定版本的 OpenGL 的限制。 OpenGL 色彩空间转换

我想知道是否有更新/更快的方法可以使用更新的版本来做到这一点。我不希望使用任何特定于硬件的东西,但如果需要,我正在使用 Nvidia GPU。

4

1 回答 1

1

由于您想要更新/更快,是的,您可以尝试使用 CUDA 或 OpenCL。它们是否会比着色器快得多......我不知道,请告诉我们。如果有的话,它可以让您更好地控制资源如何分配给任务。

这两个框架都有与 OpenGL 共享内存的方法,因此您应该能够只编写一个内核并将其传递给您的 opengl 纹理/fbo。

我碰巧为 xpra 编写了许多这样的模块,你可以在这里找到它们的链接:xpra wiki: CSC(代码是 GPL2+)

于 2013-11-06T10:07:43.983 回答