2

我正在尝试使用 GPU 为 iPhone 创建一个面部跟踪器来执行性能计算。

为了使跟踪更加智能,我需要能够从着色器中检索值。但是我很难这样做,这对 iPhone OpenGL ES 可行吗?

4

1 回答 1

4

从着色器(至少在 ES 中)获取任何输出的唯一方法是将某些内容渲染到帧缓冲区并从 GPU 读回生成的像素值。

但是由于我不知道您的算法和实现,我无法告诉您如何最好地构建它以有效地获取结果。但请记住,着色器的唯一输出是渲染到帧缓冲区中的图像,无论该图像可能具有何种结构。

因此,通常最好为最小化 CPU-GPU 通信构建算法。因此,请考虑您是否真的需要知道 CPU 上的这些值,或者是否足以使用纹理或 VBO 将它们提供给 GPU 算法的其他部分,您可以(或多或少)有效地渲染其中而无需 CPU 往返.

于 2012-09-07T12:34:58.867 回答