从着色器(至少在 ES 中)获取任何输出的唯一方法是将某些内容渲染到帧缓冲区并从 GPU 读回生成的像素值。
但是由于我不知道您的算法和实现,我无法告诉您如何最好地构建它以有效地获取结果。但请记住,着色器的唯一输出是渲染到帧缓冲区中的图像,无论该图像可能具有何种结构。
因此,通常最好为最小化 CPU-GPU 通信构建算法。因此,请考虑您是否真的需要知道 CPU 上的这些值,或者是否足以使用纹理或 VBO 将它们提供给 GPU 算法的其他部分,您可以(或多或少)有效地渲染其中而无需 CPU 往返.