码迷,mamicode.com
首页 > 其他好文 > 详细

opengles dither

时间:2020-06-28 19:02:44      阅读:44      评论:0      收藏:0      [点我收藏+]

标签:写入   bit   art   com   ATX   The   ima   proc   就是   

在管线的om阶段有这样一个操作 dither

技术图片

 

抖动

它的存在是为了解决 高精度数据写入低精度rt时的band artifacts

 https://en.wikipedia.org/wiki/Dither

感觉这是一种常用的提升精度的方法,和仿色也类似,在hdr那边也见过这种使用

https://www.khronos.org/opengl/wiki/Per-Sample_Processing

它抖的算法是这样的

相邻两个像素 a,b 

一个向下取整,一个向上取整。这样交替

取整的事情是这样理解的 比如8bits 传入颜色0.8967xxxx精度很高的float 

向上/下取“整”

算法0.8967xxxx X255 =206.286xxxx

这个精度能表示的离206.286最近的两个整数 206,207,这两个值 根据屏幕像素坐标交替

(这里涉及的就是整型rt--fixed point 在ogl上的流程,shader里都是浮点数计算 一直到srgb那步 做完 做float到fix的转换 转换方法 floatX(2^b-1))

使用方式只有一个

enable/disable

如果关了 它就默认全取一样的 就不能交替了

 

所以看上去对于浮点rt srgb和dither这步都没啥必要了

opengles dither

标签:写入   bit   art   com   ATX   The   ima   proc   就是   

原文地址:https://www.cnblogs.com/minggoddess/p/13204197.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!