我刚刚终于理解为什么rendertarget的format对颜色的影响为什么那么大了

r8g8b8a8  这种会有band artifacts

rgbafloat 这种浮点rt 的色带变化更为连贯(R11G11B10Float 里面有指数位 rgba16half这个也是有指数位的 RGBE R9G9B9E5这个E也是指数位

这几张都是hdr的rt

那上面的rt和下面rt相比 缺少的就是 让颜色看起来更为连贯的那些中间过渡的颜色

还有srgb空间在总的颜色空间占一部分那幅图可以辅助理解这个事情

要注意 两个空间 0 和1 是重合的 缺的是中间的 过渡地带

我以前总觉得这些事情 比如一个后处理我能抄出来就可以了 因为我没见过能很好的理解的人

也没有谁对我有这样严格的要求 其实存在很多对它们的原理理解很深刻的人 我见到一些 我平时见不到

是因为我水平不行 接触不到。。。。。就在那里洋洋自得很多年

============

开hdr 要给相机加tonemap才可以

不然我估计在linear space下开关hdr没效果 只是换rt最后又采样回去 精度仍然丢失

https://unity3d.com/cn/learn/tutorials/topics/graphics/high-dynamic-range-hdr

===============================

今天做了精确的测试 以及分析

总体看下来 在unity管线里面 一种正确的 hdr的pipeline是 开hdr 最后加tonemap

前面开hdr做的事情是 rendertarget的format变成 float 存储更高精度的数据

但如果不开tonemap 这些高精度数据没有办法remap会argb32或者srgb32 直接四舍五入了。。。都丢了

如果开tonemap的话 这个pass的位置 比较。。不正确 场景artists和ui和特效artists要的可能不一样 但是放多个colorgrading太费 放最后不能满足三个角色

所以放在前面 场景transparent之后是比较合理的

这样的问题就是后面在tonemap remap之后 如果太亮 接近1 颜色会丢 再加tonemap可以拿回来这样又会对前面调好的场景颜色叠加一层影响

====================

在线性空间下测试只开关hdr (无bloom和tonemap) 透明会有变化 其它颜色没有变化----这说明只开hdr的hdr是不对的(unity的hdr开关 只控制了rt format)

开了bloom或者tonemap再开关hdr才会有颜色变化

==================

linear+hdr的管线

srgb read float float float srgb write

这是原本的 为什么中间不用encode decode因为中间原本就是float 是线性空间 但最后因为有displaygamma所以最后一个pass要用srgb再压回去

在线性空间做正确的计算

---------

ui pass 可以不需要float rt

最新文章

  1. Why did I have a recovery trip
  2. 关于ArcGis的二次开发-基于ArcEngine10.2(内有安装包)
  3. 怎样用Zbrush中的Curves Tubes创建手指
  4. 使用TCP/IP的套接字(Socket)进行通信
  5. linux 操作系统下c语言编程入门
  6. 解析json数据总结
  7. 把sublime添加到右键菜单(转)
  8. Html5 布局经验分享-第1集
  9. 【C++学习之路】组合类的构造函数
  10. LINUX下QT与C语言通过网卡名获取网卡IP与MAC
  11. 通过ssh訪问NAT网络模式虚拟机里的Linux
  12. MySQL数据库常见操作
  13. 使用 cURL 度量 Web 站点的响应时间
  14. tomcat中Servlet的工作机制
  15. windows10下配置环境变量
  16. ajax基本原理
  17. JAVA计算文件的crc32校验码
  18. 红黑树-算法大神的博客-以及java多线程酷炫的知识
  19. CentOS 加载/挂载 U盘 (转)
  20. maven 发布到仓库

热门文章

  1. gitlab和github的区别
  2. Python BeautifulSoup 简单笔记
  3. PHP实现选择排序
  4. 2018CCPC 中国大学生程序设计竞赛 网络赛
  5. 删除元素(LintCode)
  6. Sqli-labs less 1
  7. utf-8 长度
  8. Codeforces 551 D. GukiZ and Binary Operations
  9. [BZOJ3997][TJOI2015]组合数学(Dilworth定理+DP)
  10. POJ2234 Matches Game 尼姆博弈 博弈论