OpenGL ES - GLSL返回计算

时间:2012-09-07 11:21:21

标签: ios opengl-es glsl shader tracking

我正在尝试使用GPU为iPhone创建面部追踪器,以执行性能计算。

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

1 个答案:

答案 0 :(得分:4)

从着色器获取任何输出的唯一方法(至少在ES中)是通过向帧缓冲区渲染内容并从GPU读回结果像素值。

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

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