Stochastic SSR是在SSR基础上的改进,下面看一下SSR流程

整体流程:分块分类->Raymarching->卷积->处理反射(得到结果)->处理artifacts(解决噪声)->异步处理(优化)

计算反射hit位置

将屏幕分成16×16块tile

此处的采样分布引用了刺客信条黑骑的方法

黑旗算了一张Mask作为反射计算精度的权重

回到Surge的SSR,上面列出了SSR中几种难点,比如Hi-Z等等

进行RayMarching,GGX分布采样

生成5张不同模糊程度的mip,作为不同粗糙度颜色结果,模拟Cone Tracing

读取邻居hit点颜色做混合,模拟多次射线采样,做到射线Reuse,但这里会有Artifact出现(如果邻居点恰好为不同物体,或者法线角度差异过大,就会出现反射结果错误,出现Artifact),可以通过判断法线夹角大小解决部分Artifact,下一节说如何处理

异步计算部分没翻译= =

再来看看如果反射的结果超出屏幕渲染范围如何解决

算出ReflectionProbe颜色作为代替

资料:

[Michele Giacolone, 2016] “Screen Space Reflections in The Surge”

[Timonen15] Ari Silvennoinen and Ville Timonen, “Multi-Scale Global Illumination in Quantum Break”, SIGGRAPH, 2015

[Wronski14] Bart Wronski, “Assassin’s Creed 4: Road to Next-gen Graphics”, GDC, 2014

-------by  wolf96 https://blog.csdn.net/wolf96

Stochastic Screen Space Reflections(二):SSR相关推荐

  1. [Unity] Canvas 设置为 Screen Space - Camera 时,UI 被场景物体遮挡的解决办法:设置 Canvas 的 Plane Distance 为一个较小的数

    Canvas 设置为 Screen Space - Camera 时,UI 可能被场景物体遮挡,如下图所示 只要设置 Canvas 的 Plane Distance 为一个很小的值,它就几乎永远不会被 ...

  2. 在Unity中实现屏幕空间反射Screen Space Reflection(2)

    traceRay函数 在上一篇中,我们有如下签名的traceRay函数 bool traceRay(float3 start, float3 direction, out float2 hitPixe ...

  3. Unity Shader - Custom SSSM(Screen Space Shadow Map) 自定义屏幕空间阴影图

    文章目录 思路 实践 获取光源空间ShadowMap[A] 获取屏幕空间的深度图[B] 获取SSSM(Screen Space Shadow Map) 绘制一个全屏的Quad[C] 输出SSSM RT ...

  4. Learn OpenGL 笔记6.10 SSAO(Screen Space Ambient Occlusion屏幕空间环境光遮蔽)

    我们在基本照明一章中简要介绍了该主题:ambient lighting环境光. Ambient lighting环境光是一个固定的光常数,我们添加到场景的整体照明中以模拟光的scattering散射. ...

  5. unity镜头边缘羽化_【JTRP】屏幕空间深度边缘光 Screen Space Depth Rimlight

    氵一篇最近群友聊到的新边缘光,使用深度计算,相对于传统边缘光可能更适合硬表面. https://github.com/Jason-Ma-233/JasonMaToonRenderPipelinegit ...

  6. 数字图像处理怎么讲yiq空间变成rgb空间_【JTRP】屏幕空间深度边缘光 Screen Space Depth Rimlight...

    氵一篇最近群友聊到的新边缘光,使用深度计算,相对于传统边缘光可能更适合硬表面. https://github.com/Jason-Ma-233/JasonMaToonRenderPipeline​gi ...

  7. Curved World - Screen Space Curvature Shader 预先提取版

    http://www.cgioo.com/forum.php?mod=viewthread&tid=671

  8. 实时全局光照Screen Space Ambient Occlusion(SSAO)

    屏幕空间 可以拿到的所有信息只能从屏幕中所看到的获取,即在做全局光照之前能在屏幕上看到的->直接光照. 换句话说,对现有的渲染进行后期处理. 环境光遮蔽 为什么要做环境遮蔽? 实施成本低 增加了 ...

  9. 图形学基础|屏幕空间反射(SSR)

    图形学基础|屏幕空间反射(SSR) 文章目录 图形学基础|屏幕空间反射(SSR) 一.前言 二.反射技术概述 2.1 环境贴图反射 2.2 IBL反射 2.3 平面反射(Planar Reflecti ...

最新文章

  1. OpenStack配置虚拟机vcpu绑定步骤 转至元数据结尾
  2. 谈谈关于个人提升的一些思考
  3. nmon_analyser 在Aix平台的使用方法
  4. 结对编程小项目实现 Python+PyQt5+OOP
  5. java xml获取属性值_java – 如何获取具体属性值的特定XML元素?
  6. 利用jenkins的api来完成相关工作流程的自动化
  7. N Queen(代码、分析、汇编)
  8. 华农计算机学院院长,华农大生命科学技术学院副院长到武生院任职
  9. Angular之ngx-permissions的路由使用
  10. 微信小程序相关项目实例集合
  11. ajax跨域为什么会失败,ajax跨域请求失败是怎么回事?
  12. [Java] 蓝桥杯ALGO-13 算法训练 拦截导弹
  13. 大数据可视化需要遵循哪几个核心原则
  14. python 取模_中年大叔学编程-Python的基础语法和运算符
  15. nlp-paper: 按主题分类的自然语言处理文献大列表
  16. 视图控制器的View创建方式
  17. EPLAN Electric P8 2.7下载安装
  18. EWM 创建包装物料
  19. php版wap浏览器,PHP 检测手机浏览器的代码
  20. 新昌中学2021高考成绩查询,新昌中学教育集团向2020年参加高考被第一批录取的553名学子表示热烈祝贺...

热门文章

  1. VC++——一档多视
  2. origintangent插件_ORIGIN 免费提供origin 的各种插件大全 - 下载 - 搜珍网
  3. 安卓实训之开发环境搭建
  4. Chapter5 深度学习基础
  5. Gox语言中的并发处理以及用通道实现数据安全共享-GX21
  6. 笔记本计算机死机,笔记本电脑死机,请大佬帮忙分析!
  7. 用成品短视频App源码开发您的下一个创意项目
  8. 编译部署LANP环境
  9. 解决微信小程序请求后端接口碰到合法域名的问题 http-405j及java接口和数据接口的概念区分
  10. 数值计算 - 常用函数值计算方法