指点成金-最美分享吧

登录

iteye Java编程 Spring框架 Ajax技术 agile敏捷软件开发 ruby on

admin 举报

iteye Java编程 Spring框架 Ajax技术 agile敏捷软件开发 ruby on

作为下一个时代的代表性渲染效果,我个人认为HDR比运动模糊和景深更实用,值得为此耗费资源。

概念:因为人眼能分辨的最大亮度差是:1,即使同一个场景也能分辨:1,但是显示设备只能创建的亮度动态范围是100: 1。目前,图片的存储容量已经能够存储最大亮度差,但正是因为设备的原因,它在显示器上不能正确逼真。从这一点可以看出,HDR并不是实时渲染独有的,而是涉及图像现实的所有领域都需要解决的问题。

由此可见,HDR是一种解决亮度差异问题的技术,该技术的重点是将图像中每个像素的亮度差异进行映射,将图像本身的亮度差异比例降低到100: 1的范围内。所以这种技术原理很简单,关键是如何在保持原有色感的基础上,降低一幅有真实亮度的画面的亮度比。

映射算法:

1.全局色调映射算法:

实际上,对于整个图像的所有像素,亮度值是根据固定的比率进行缩放的。大家都知道怎么实现这种方式。例如,如果您的图片的最高亮度比是:1,那么您可以将所有像素的亮度值减少倍。当然,这只是一个例子。如果你这样做,你看不到图像。这种算法中有两种著名的算法:

(1)对数方程的匹配映射算法:用一个特征对数方程来获得标度比,使这个值不固定。

(2)基于直方图均衡化的色调映射算法:这个稍微深刻一点,但是类似于按照固定的规则获取比例因子。

全局映射算法的缺陷是与图像的具体情况无关,所有的图像都遵循统一的规则,所以这种方式的产品肯定不是很好。优点是效率高,但我觉得这不是优点,因为什么都不做效率更高。

2.本地色调映射算法:

与全局情况相比,这种算法考虑了局部因素,因此效果优于全局情况。

(1)分层色调映射算法:这样亮度值=反射分量*亮度分量,亮度分为两个值来描述。反射分量是与材料和纹理相关的值。表观算法使用高斯滤波提取这个分量,然后对剩余的亮度分量进行全局处理。其实我觉得这和全局算法差不多,只考虑材质和纹理。但是过滤时有信息丢失,这种方法效率不高。

(2)梯度域色调映射算法:这种算法的原理是图像中亮度变化较大的区域有较大的阶梯,而图像的细节如纹理有较小的阶梯,所以越大的阶梯减少,越小的阶梯可能增加。一般来说,如果亮度变化很快,这个区间的亮度会降低多一点,而亮度变化不是很大,但会适当增加。这个方法不错,我觉得比上面的好。

3.多分辨率和全局组合算法;

该算法通过全局算法将亮度压缩到100: 1,然后通过gamma算法进行校正,然后对亮部进行高斯模糊。个人认为这其实是一个全局算法,除了伽玛修正和高斯模糊。伽玛校正和高斯模糊之前的算法可用。

但是这个压缩亮度的全局算法和上面两个不一样。

(1)计算光强:L(x,y)=0.27*R 0.67*G 0,06*B(这是一个像素的强度值)

(2)计算平均光强系数:6是一个比较小的值,主要用来计算log2,这里也可以是log。

(3)标定照度:目标照度值=a*原始照度值/平均照度系数。a的值调节亮度,a越大越亮。

(4)映射光强值:

(5)伽马校正:y=2.2

(6)高斯模糊:高斯模糊算法使用高斯函数对图像进行卷积(略)

iteye Java编程 Spring框架 Ajax技术 agile敏捷软件开发 ruby on

总结:最后一种方式不错。在网上找找高斯模糊算法。

相关阅读

  • 谈ue4高级渲染 动态光照迭代快
  • 光照集团最新动态
  • 女排袁心玥最新动态 或留京养伤疑似上海女排最新动态缺席联赛 朱婷
  • 光照集团最新动态
  • iteye Java编程 Spring框架 Ajax技术 agile敏捷软件开发 ruby on
  • 标签: #光照集团最新动态