开启辅助访问
 找回密码
 立即注册

Unity使用mobile渲染管线时无法使用HDR?有没有什么解决办法,或者解决思路?

wzjas 回答数4 浏览数292683
为何UNITY的HDR不能支持Mobile,而UE4的则可以。而且也很难搜索到有合适的解决方案。
使用道具 举报
| 未知
bWRBLSiC | 未知
用8888创建场景buffer,然后在每个 shader 最后将 HDR 输出压缩成 RGBM / RGBE,在 tone mapping 前将场景输出还原成 HDR,tone mapping 后输出到8888的back buffer上。
如果要做线性空间渲染,手动在采样各类 diffuse 贴图的时候做个平方,然后在 tone mapping 后做伽马矫正。
回复
使用道具 举报
UWqDnJCv | 未知
可以看下这个,是否有帮助。
https://zhuanlan.zhihu.com/p/20228106

善用shader加上一些hack技巧
回复
使用道具 举报
onebbs | 未知
我记得以前看unity文档中,hdr使用的rgba16f格式RT,这个并非GLES3.0标准,需要color_buffer_half_float扩展。可能你用的手机刚好不支持这个扩展。

如果要让更多移动设备支持,最好用rgb10a2格式,这个是gles3.0的标准。
回复
使用道具 举报
yaok | 未知
hdr 从unity3.5之后就加入了。不过现在5.6才开始比较完美支持,一般最好在手机上同时开启linear space。hdr 在Graphics设置里面可以设置Tier Setting,来选取对应的BackBuffer格式,一般高端机都支持fp16, UE4的后处理之类是强制要求手机支持ARGBHalf格式的,不支持就没有效果。对于手机的测试情况,如果不支持fp16, 一般都是RGBA32格式。我测试少没有遇到过支持R11B11G10 BackBuffer的机器,不知道市场上这种机器是否有很多

回复
使用道具 举报

相关问题更多>

快速回复
您需要登录后才可以回帖 登录 | 立即注册

当贝投影