ios - OpenGL ES - GLSL 返回计算

标签 ios opengl-es glsl shader tracking

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

为了使跟踪更加智能,我需要能够从着色器检索值。 然而我很难做到这一点,这可以用 iPhone OpenGL ES 实现吗?

最佳答案

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

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

因此,通常最好构建算法以实现最少的 CPU-GPU 通信。因此,请考虑一下您是否确实需要了解 CPU 上的这些值,或者是否足以使用纹理或 VBO 将它们提供给 GPU 算法的其他部分,以便您可以(或多或少)高效地渲染到其中,而无需 CPU 往返.

关于ios - OpenGL ES - GLSL 返回计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12317120/

相关文章:

ios - swift 错误 : Reference to generic type Dictionary requires arguments in <. ..>

ios - 如何从 UICollectionViewCell 中调用presentViewController

opengl - 骨骼动画顶点着色器的性能问题

opengl - GLSL 照明 - 基于光半径的衰减

iphone - 从 UITabBarController 弹出 UIViewController

ios - 在 UIView 顶部添加内部阴影

ios - 如何在不使用大量内存的情况下缩放过渡 UILabel?

java - Android : OpenGL, TextView

performance - WebGL 的 CPU 使用率高?

performance - OpenGL - 一次将所有数据传递到着色器时遇到问题