我想在n * n方格中平均/模糊纹理的像素。为此,我有一个水平着色器和一个垂直平均着色器。我的问题是当n很小时,使用单次传球的利润是多少。
例如,当n为4时,我可以通过4个样本一次性完成所有操作(通过使用GL_LINEAR
对像素的共享角进行采样,获得自由的等加权平均值)而不是两次传递2每个样本。
如果n为10,那么两个传球显然是每次5个样本,总共10个,而不是一次传递25个样本。
但是,如果是6?这将是两次通过中的2 * 3 = 6个样本,或者一次通过中的9个样本。是否有一个经验法则,即额外的采样如何平衡对纹理进行额外渲染的平面成本?
答案 0 :(得分:1)
与所有内容一样:为目标硬件配置文件。
除此之外,一般来说,将模糊分为两个阶段更有利,因为一件事:缓存一致性。
平均模糊滤镜分为2遍(2个内核)的方式使用线性内存访问,因此即使必须运行2次也会更快。
注意:这可能不适用于您的硬件,因此请对其进行分析!(并分享结果)
关于GD.SE的相关问题。