【发布时间】:2012-03-15 11:48:05
【问题描述】:
让 GPU 有效计算“反功能”例程的最佳模式是什么,这些例程通常依赖于定位的内存写入而不是读取? 例如。比如计算直方图、排序、将数字除以百分比、将不同大小的数据合并到列表中等等。
【问题讨论】:
-
您问的是 OpenGL、OpenGL ES 还是 WebGL?因为这是三个不同问题的三个不同答案。虽然从技术上讲,答案总是某种形式,“这取决于硬件。”
-
会有哪些功能,例如。 OpenGL 3 已经超越了 WebGL,这可以让它们与众不同?
-
你的意思是,除了能够渲染到多个缓冲区之外?嗯,有 UBO,它允许着色器快速访问更多数据。有缓冲区纹理,允许着色器较慢的访问,但更多更多的内存。有变换反馈,可以将顶点着色器输出存储在缓冲区对象中,使紧密循环完全避免光栅化。但实际上,如果您在台式机上进行计算,您应该尝试使用 OpenCL。
-
OpenCL 目前不像 OpenGL 风格那样可用。这就是为什么我不决定支持/反对 WebGL 的原因。如果它可用于我的目的,我希望它能够轻松部署。顺便说一句,变换反馈听起来很酷,当与几何着色器结合使用时,它可以根据计算结果压缩或扩展数据长度。然而,我认为这是先进的,而不是 WebGL 的可能性。
标签: opengl glsl gpu gpgpu random-access