前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是真实感渲染(二):真实感渲染技术

什么是真实感渲染(二):真实感渲染技术

作者头像
Peter Lu
发布2022-05-17 12:08:24
1.6K0
发布2022-05-17 12:08:24
举报
文章被收录于专栏:LETLET

上一篇从渲染史的角度,通过栅格化和光线追踪两个渲染技术,给出了真实感渲染的三个标准:照片级别,物理正确和高性能。本篇是系列二,从技术角度介绍当前真实感渲染。

图片来自互联网

渲染方程的主要参数有光源L(ight),材质M(aterial),可见性V(isibility)以及空间域Ω。栅格化为了追求高真实感,通常会基于该方程做某些“合理”假设,满足Split Sum Approximation算法的适用条件,并缩小Ω的范围(比如空间投影到屏幕),这样,计算量降下来了,甚至还能预计算,满足实时的性能要求。这个过程也体现了实时渲染的至上法则:只要渲染的图形看起来是对的,那就是对的

从技术上,真实感主要包括:(1)软阴影;(2)环境光贴图;(3)基于物理的材质;(4)全局光照;(5)后处理。这五个方面都用来弥补栅格化在间接光照方面的不足,从而获取更好的阴影,折射和反射效果。下图是这五点相关的参数和算法。

软阴影

软阴影是一种two pass的策略,在第一个pass中,通常会假设点光源(透视投影)或方向光(正交投影),然后从光源处生成一张深度图(Shadow Map),因此空间域是Image Space。而第二个pass则利用这张深度图,在栅格化的片元阶段实现软阴影的效果。

图片来自互联网

PCSS的思路是每个点都和相邻区域(N*N)的深度进行比较,从而估算该点同光源的可见程度。该可见度不再是0或1,而是一个浮点数,从而实现软阴影的效果。同时,根据遮挡物距离光源的远近来确定N的大小。我们还可以用Cascade来优化PCSS,其思路是根据相机的远近来设置深度图的纹理大小,类似Multi-Frustum。

CSM可以模拟自然界中“圣光”的效果。在体渲染中,可见性需要在空间域中通过Ray Marching算法累加,性能开销巨大, CSM的思想是把可见性函数从空域转为频域,降低了算法复杂度和计算量,满足了实时渲染volumetric shadow的性能。

环境光贴图

环境光贴图,顾名思义,就是用图片来模拟环境光打在物体上的反射和折射效果,是一种通过预计算来优化环境光的技术。环境光分为漫反射(diffuse)和镜面反射(specular)两种贡献,通常忽略可见性问题。

图片来自https://learnopengl.com

对于漫反射,我们把整个半球的环境光做一个模糊滤波,然后按照镜面反射的方向计算一次光路贡献,就等同于累加来自任意方向的环境光的光路贡献,而该半球仅跟物体的法线相关。因此,我们可以预计算生成一个irradiance map来获取diffuse的贡献。目前一般会采用Spherical Harmonics来计算irradiance map,点乘(3阶9个)操作,而且还支持环境光阴影,光源旋转变化等特性。

图片来自https://learnopengl.com

镜面反射则需要从环境光中获取反射的光线,因此是 radiance,该参数取决于物体的粗糙度。有了radiance和BRDF部分,则可以 获取specular的贡献。

另外, 八面体投影(Octahedral projection)形变更小。而Multiple-Scattering更符合能量守恒。

基于物理的材质(PBR Material)

PBR材质最初源自Disney BRDF,UE的渲染模型应用并优化了该材质,目前gltf和filament对这块支持不错。具体请参考《Material小结》。

PBR材质的基本属性主要是Metallic-Roughness,另一种标准是Specular-Glossiness,前者对设计师更友好,后者侧重物理属性,保留了反射率F0。

GLTF示例截图

目前,GLTF2.0标准已扩展支持了clearcoat,sheen以及transmission + volume等属性。

全局光照(Global Illumination)

全局光照中假设间接光涉及的材质均为diffuse,且只考虑两次bounce的间接光照。GI和软阴影的流程完全一样,属于two-pass的方式。

Dachsbacher et al

Reflective Shadow Maps(RSM)在第一个pass时分别保存深度,空间位置,法线和光通量flux(上图1-4),在第二个pass时,基于纹理信息,在Image Space中随机采样间接光照的贡献。这样,计算量缩小到为Image Space,又通过采样来降低Image Space中的计算量。

Games 202 实时全局光照 2

Screen Space Reflection(SSR)流程同RSM一样,区别是Screen Space。而SSAO和SSDO在第一个pass中需要保存Screen Space下的深度和法线(HBAO),在第二个pass中处理可见性V,两者互补,前者考虑红色区域的贡献,后者考虑橙色区域的贡献。

RTR4

后处理

@Miamiamia0103

反走样,DLSS,降噪等。

总结

本篇介绍了真实感渲染中涉及的五个技术模块,基于一定的假设,通过光照,深度,法线等贴图来求解渲染方程,简言之就是开局一张图,内容全靠编。这些tricks本身并不难,但如何把这么多的技术整合在一起,形成一套pipeline,则需要强大的工程能力。

随着硬件能力提高,基于Real Time Ray Tracing(RTRT)或许是一个更好的方案,这也推动了Hybrid Pipeline的日臻完善。同时,RTRT本身的算法健壮,无需各种奇淫巧计,更像是大道至简的终极解决方案。我相信’Ray tracing is the future and ever will be’这句话将成为过去。

介绍完真实感渲染的具体技术,下一篇和大家交流一下相关技术的前沿趋势。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 LET 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 软阴影
  • 环境光贴图
  • 基于物理的材质(PBR Material)
  • 全局光照(Global Illumination)
  • 后处理
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档