» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

PS3實現HDR+AA訪談

引用:
原帖由 quakeguobiao 于 2007-6-27 09:07 发表
那个说法是完全正确的。HDR的精度太高,目前的显示设备无法直接显示的。
1:是精度问题吗?动态范围问题吧,或者更具体点,是亮度问题。
2:但是否显示器能够显示超亮颜色,就OK了呢?显然不是,如果直接把HDR Buffer拿来显示,只会让眼睛很快变瞎。
原因何在?
ToneMapping中的关键步骤是根据Scene RT的Avg Luminance和Mid Grey来调整曝光系数。从而调整显示亮度。
这可以理解为摄影中的曝光时间/光圈调整,或者说模拟人类瞳孔的自适应缩放。因为我们生活的世界就属于HDR
那么把HDR Buffer用HDR Display显示出来,是否也可以用人自身的瞳孔自适应缩放来达到类似的效果呢?不行。
因为瞳孔的自适应缩放,是根据人类眼睛可视立体角范围内的全部入射光来确定的,而显示器所占据空间,只对应人眼可视范围的一部分,因此人眼从显示器上收集到的亮度,并不足以直接确定瞳孔的缩放情况。比如在一个很暗的房间内玩一个很明亮场景的游戏,HDR的Screen亮度很高,但黑暗房间决定了瞳孔不会缩小到正确的程度,于是出来的效果无疑是屏幕一片亮白。除了毁眼睛没有其他任何好处。
简而言之,游戏场景中的camera和人眼所处的空间不同,所以,模拟曝光系数也好,模拟瞳孔自适应缩放也好,都需要在同一个空间中同一个eye-point进行。Tone Mapping并不只是为了迁就显示设备而做的东西。

顺便,这文章够火星。也没太多价值,HDR encoding是早有的东西。Marco的nAo32,范围倒是不小,怎么说也是用Log来储存亮度。但是,精度么……
不能filter,不能blending,等于和R300-R420对FP16的支持一样,至少R300输出读取FP16还不需要encoding/decoding呢~
shader能否完全替代blending?除非每画一个triangle就做一次ping-pong buffer swap。但显然……

[ 本帖最后由 hourousha 于 2007-6-27 12:27 编辑 ]


TOP

引用:
原帖由 wangmax 于 2007-6-27 10:51 发表
HDR游戏是指的调用了HDR格式图形材质及HDR运算技术,但在最终输出时都转换成了RGBA,以此和我们的常规显示器配合

而HDR格式图片则是包含了高精度亮度信息的图片,但这只是高精据,不是变态亮度,如果一个人在 ...
只是高精度?呵呵?N多HDR Paper中提到过的太阳的亮度是多少?对比烛光的亮度是多少倍?
高精度,大概可以运用在HDR中物体的diffuse map上。至于环境贴图,或者光源强度,显然是应用‘变态亮度’为主。
至于眼睛为何会瞎掉,参看我第二页的解释。
所谓的游戏中的HDR,就是指使用HDR RT Buffer + Tonemapping的渲染方式。并不是只是用了高精度贴图就算。motion blur的accumulate buffer也最好使用高精度RT,法线贴图也最好使用V16U16。这些都有高精度纹理和运算,也算HDR?



TOP

引用:
原帖由 RacingPHT 于 2007-6-27 11:54 发表


h兄实在认真啊:D
我觉得实做的话, 亮度多高关键还是在art director的把握。我觉得追究某个格式的动态, 没什么意义. XBOX的dsteel, 不是也做得不错么.
呵呵,我这两天比较蛋疼:D
嗯,实作可以有很多选择,不必要非得还原现实亮度或亮度比——真要这样做也很可能会遇到一些问题,只要实际看起来是那么回事就OK了。VP2用ARGB8,fake HDR做的也不错。尽管这格式既不High Precious也不High Dynamic Range。


TOP

引用:
原帖由 Nothing 于 2007-6-27 12:09 发表
h兄辛苦了:D
不辛苦,其实最初想法只是看到一火星转贴想来喷一下罢了:D 所以上页那个贴的最后一段才是我最想说的:D
不过我对——‘tonemapping只是因为显示器不能显示HDR信息的现状而存在’这种说法也确实不能认同。
从人们直观感觉来说,HDR就是在不同亮度的场景中都能看到足够的信息,从这个角度来说,HDR Buffer只是储存了足够的信息,但想让人能看到,就必须通过Tonemapping,否则就算有了超高精度显示器,0.01和0.01001这两个亮度,又有谁能分辨出来呢~

TOP

发新话题
     
官方公众号及微博