2012-09-07 69 views
2

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

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

+0

正如Christian指出的那样,我们需要更多关于*什么*信息需要检索才能回答的信息。 –

回答

4

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

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

因此,通常最好的方法是构建最小CPU-GPU通信的算法。因此,如果您确实需要了解CPU上的这些值,或者是否足以使用纹理或VBO将它们提供给GPU算法的其他部分,则无需CPU往返即可高效渲染(或多或少)效果。