gpt4 book ai didi

opengl-es - GLSL集成功能

转载 作者:行者123 更新时间:2023-12-02 22:33:57 26 4
gpt4 key购买 nike

关于如何在 GLSL 着色器中实现高效的积分函数(例如 SumX 和 SumY)有什么建议吗?

SumX(u) = 关于 x 的积分 = I(u0,y) + I(u1,y) +... + I(uN,y); u=标准化x坐标SumY(v) = y 的积分 = I(x,v0) + I(x,v1) +... + I(x,vN); v=归一化 y 坐标

例如,第一行的第 5 个像素将是第一行所有五个像素的总和。最后一个像素将是所有先前像素的总和,包括最后一个像素本身。

最佳答案

您要求的内容称为 prefix sumsummed area table (SAT)对于 2D 情况(只是为了让您更轻松地找到在线资源)。

求和区域表可以通过分解为几个并行的前缀和 channel 在 GPU 上有效地实现 [1] , [2] .
可以通过使用本地内存存储中间部分和来加速前缀和(请参阅 example in OpenCLexample in CUDA ,原则上可以在 OpenGL 片段着色器以及图像加载存储或计算着色器中完成相同的操作: OpenGL Super Bible example ,类似的示例可以在 OpenGL Insights 第 280 页左右找到。

请注意,您可能很快就会遇到精度问题,因为最右边(最下面)像素的总和可能会变得非常大。整数或 fp16 渲染目标很可能会因溢出或缺乏精度而导致失败,fp32 大部分时间都可以工作。

关于opengl-es - GLSL集成功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19384316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com