【发布时间】:2014-04-27 04:07:15
【问题描述】:
这里的目的不是渲染,而是gpgpu;它用于图像模糊:
给定一个图像,我需要使用固定的给定可分离内核对其进行模糊处理(参见例如Separable 2D Blur Kernel)。
对于 GPU 处理,一个很好的流行方法是 first filter the lines, then filter the columns; and using the vertex shader and the fragment shader to do so (*)
但是,如果我有一个固定大小的内核,我想我可以使用一个接近我想要的级别的快速计算的 mipmap,然后对其进行上采样(as was suggested here) 。
因此,问题是:opengl 创建的 mipmap 会比我使用 (*) 方法创建的 mipmap 快吗?
换一种说法:mipmap 创建是否在 gpu 本身上进行了优化?它是否总是优于(速度方面)用户创建的 glsl 代码?还是取决于显卡?
编辑: 感谢您的回复(Kahler,Jean-Simon Brochu)。但是,我仍然没有看到任何资源明确说明 gpu 生成的 mipmap 是否比任何用户创建的 mipmap 更快,因为特定的 mipmap-generation-gpu-hardware...
【问题讨论】:
-
我没有完整的答案,但自定义 GLSL 着色器将被大规模并行化。一张好卡可以同时处理1000个碎片。但是没有什么能比得上好的性能测试了。
-
你提到的那篇 Rastergrid 文章太好了!每一个偶然发现它的 OpenGL 学习者都有好运!
标签: opengl textures gpgpu blur gpuimage