[gpu pro]environment mapping with Floyd-Steinberg Halftoning

这个文章要解决的问题其实不算是这个generation的,但是里面带来一些思想或许有一些启发,也提到不少知识,也算是复习和加深理解了。

但对于实际游戏开发来说营养甚小。

我们正常做env mapping的时候是不带occlusion信息的,实际使用中tri ace会使用ao来做一些额外处理变成envmap的occlusion信息,然后根据occlusion情况把sample到的亮度进行衰减即可。

本文更多处理更大量的计算情况,那么遇到有occlusion的情况,希望通过少sample来提升效率--目的所在。


通过少量sample来尽可能好的模拟全量sample的结果,使用importance sampling再合适不过了,这里对于关键点的选取算法就是本文介绍的重点。


算法的名字就是在标题上了--floyd steinberg halftoning。

[gpu pro]environment mapping with Floyd-Steinberg Halftoning_第1张图片

它的核心思想就是如果这一点取还是不取都会造成一定误差,比如这一点的值是0.3,不取就造成了0.3的误差,或者0.8,取,则有0.2的误差。

那么就会把误差distribute到周围的点上,希望藉由影响周围的点来让综合的误差最小。

你可能感兴趣的:([gpu pro]environment mapping with Floyd-Steinberg Halftoning)