【问题标题】:Dithering gouraud-shaded vertex-colored polygons to remove banding抖动 gouraud 着色的顶点色多边形以去除条带
【发布时间】:2008-10-13 18:28:59
【问题描述】:

我在low-resolution, embedded device 上使用OpenGL ES

我已将垂直颜色渐变(使用顶点着色)应用到用作渲染场景背景的大多边形上。我可以在颜色渐变中看到清晰可见的条带伪影。

我的主要经验是使用软件渲染器。使用软件渲染器,通常会抖动 mach bands 和其他条带伪影。我们经常在渲染帧的量化步骤中执行此操作,其中浮点、高精度颜色表示被转换为较低精度的输出(通常带有整数分量)。我们通过随机向上或向下舍入最终整数分量来实现抖动,以在图像中插入最微小的噪声,从而欺骗眼睛看到颜色之间的连续和平滑混合。

我的问题是我是否可以使用 OpenGL ES 来实现这一点?这种抖动是 OpenGL 管道的一部分,还是我应该跳过顶点着色并将渐变渲染到纹理并对其应用一些噪声?

【问题讨论】:

    标签: opengl-es quantization dithering


    【解决方案1】:

    您是否尝试过 glEnable(GL_DITHER)?它通常最初是启用的,但我从未使用过 GL ES 或嵌入式设备。它还可能取决于您在帧缓冲区中使用的颜色深度,如果每个通道只有 4 位,您将获得伪影。

    【讨论】:

      【解决方案2】:

      我从未听说过您描述的在 OGL 管道中的效果。不过,我的知识在这一点上有点过时,所以我可能错了。如果可以的话,我会给渲染纹理一个镜头。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-23
        • 1970-01-01
        • 1970-01-01
        • 2021-01-05
        • 1970-01-01
        相关资源
        最近更新 更多