屏幕空间反射

屏幕空间反射(Scene Space Reflection,SSR)又叫实时局部反射(Realtime Local Reflection,RLR),最早见于2011年Crytek在Siggraph的Course《Secrets of CryENGINE 3 Graphics Technology》。传统的反射是以平面或Cubecmap来处理反射信息,Cubemap更多的是处理静态反射环境。SSR做为补充,实现了以较低的开销在不规则表面的动态反射问题。

SSR的基本原理很简单,基本思想为:

.逐像素地计算反射向量,对于DefferedShading来说可以简单使用G buffer中的depth 和 normal求出

.追踪反射射线,具体做法为从反射点沿反射方向按步进,采样步进点的depth 并比较采样点depth和步长方向的depth进行求交,如果两个depth之间距离小于误差范围,则认为相交

.对于有相交点的光线,采样上一帧该点的颜色,采样颜色以混合方式贡献到目标反射点最终着色中

除了基础的SSR算法,Crytek还提供了一些基本的优化手段:

. 使用Jitter后的步长行步进,可以在一定程度上规避固定步长带来的走样

. 对SSR的结果进行Filter,得到更平滑的结果

. 基于和视点距离和屏幕距离对SSR进行淡出处理,离视点反射越远,反射越模糊

目前关于SSR的实现在各大引擎里也各不相同,Cryengine最初的算法只要屏幕depth小于步进点depth就以屏幕当前点作为反射点,而UE4里的实现会更有更精确的光线求交---当depth之间的距离小于指定误差才当作交点。SSR的射线追踪在发现当前采样depth小于反射射线depth时,回塑进行二分查找近似的交点。Klayge的SSR实现是在uv空间进行步进,而很多其它实现则多在投影空间步进。

此外,2014的Siggraph上,Killzone的Course《REFLECTIONS AND VOLUMETRICS OF KILLZONE SHADOW FALL》比较系统地介绍了Killzone怎么把SSR结合到渲染管线里去,及怎么实现基于图像的视差正确的局部反射。

时间: 2024-10-12 23:16:42

屏幕空间反射的相关文章

统计性屏幕空间反射: Stochastic Screen Space Reflection (SSSR)

SSSR进一步调优,对标寒霜级技术水平,实现方式为Direct3D 11+自主实现实时渲染引擎,方法为对比测试.实现已经有段时间了,还是简要更新下吧.以下画面中的SSSR效果全部采用1:4 resolves.如下4个图,全1080p,分别是:"全屏tracing+全屏resolve"(2个图) v.s. "1/4全屏trace+1/4全屏resolve" (2个图).为便于对比测试,特地没对反射效果加双边滤波.你觉得哪个效果棒?如果不看对比的话,你会接受1/4分辨率

关于Depth Bounds Test (DBT)和在CE3的运用

Depth Bounds Test (DBT) Depth Bounds Test(深度范围检测),是Nvdia GeForce 6系列以后显卡的特性(GPU Programming Guide GeForce 8 and 9 Series),并不是DirectX的特性.所以在例如Nsight和Pix的图形分析工具里,是看不到它的设置的. Depth Bounds Test的功能是允许程序员在blend render target前进行额外的像素Discard.这个扩展增加了一个新的逐个frag

如龙0

如龙0   誓言的场所 本世代家用机重新描绘的神市町 [金 女 暴力]的世界 本作是,游戏内的时间系列中第一部描绘[如龙]前传的作品 因为是PS4第一次描绘的神室町的作品,同时是经济泡沫期的华丽和杂乱混合的样子,完成了给予玩家新的发现和清新的品质. 前作1.5倍的资源量和系列最高的图形 本作的开发是2013年9月启动,2014年3月开始正式开始,公司内开发团队总共150人的设计人员中,背景19人,道具4人,角色13人,动作20人,分镜制作12人,特效3人,UI14人上升到80多人.资源的总量提升

【SIGGRAPH】【最终幻想XV】的战斗场景实时演示的要点解说

原文:西川善司 http://www.4gamer.net/games/999/G999902/20160730004/ SIGGRAPH并不只是非实时的CG的学术会议.从2010年的SIGGRAPH 2010开始,也有了聚焦实时渲染技术的称作[Real-Time Live!]的活动. 在仅有的5分钟时间里,一边在实际演示的机器上运行程序,一边由演讲者进行解说,这个是Real-Time Live!活动所独有的特点.不光主题是实时渲染,连活动自身也是在实时的进行. 在这次的Real-Time Li

UNREAL ENGINE 4.12 正式发布!下载地址

UNREAL ENGINE 4.12 正式发布! 下载地址:https://www.unrealengine.com/ Alexander Paschall 在 June 1, 2016 |功能新闻社区 Share on Facebook Share on Twitter Share on Google+ Share on LinkedIn 此版本内含虚幻引擎 4 的数百个更新,以及 GitHub 虚幻引擎开发者社区提交的 106 项改良!特此对虚幻引擎 4.12 版本的贡献者们表达诚挚谢意:

UE4 性能优化方法(工具篇)

本文依据UE4官方文档以及官方博客等总结而来,可能不全面,后面会陆续添加.内置工具的详细说明请参考官方文档. 游戏帧率很低,或者有卡顿的现象,可能会有很多原因,这时候不要乱猜,比如是不是人物太多了或者渲染的东西太多了,这样猜意义是不大的,可能会浪费很多时间,但是总找不到点上,当然如果运气好也可以找到瓶颈,这个时候我们可以借助相应的工具来查找性能瓶颈.此处我们仅以UE4来展开讲解. 首先要确定瓶颈是在CPU还是GPU,为了找到是谁,以非debug版本启动你的程序,并且在控制台上输入stat uni

ue4 4.14的世界设置

渲染设置(Rendering Setting) 本文介绍 ue4 4.14的世界设置 在编辑器最上端点击"设置"(Settings)按钮, 选择"项目设置"(Project Settings)打开"项目设置"面板, 在项目设置面板左边的 "引擎"(Engine)中选择Rendering 打开渲染设置,这些设置被保存在DefaultEngine.ini中 渲染设置中的属性介绍: Mobile Mobile HDR : 是否在手机

PostFX v2后期处理特效包:升级更惊艳的视觉效果

https://mp.weixin.qq.com/s/BMkLLuagbhRSWspzeGhK7g Post-Processing Stack后期处理特效包能够轻松创建和调整高质量视觉效果,实现更为惊艳而逼真的特效.在Unity 2018.1 beta版本推出后,我们根据用户的反馈为Post-Processing Stack后期处理特效包添加了一些功能,并修复了大量bug:我们还添加了针对移动端的支持.体积混合以及一整套为自定义用户效果提供的框架. Post-Processing Stack后期

Unite 2018 | 《崩坏3》:在Unity中实现高品质的卡通渲染(下)

http://forum.china.unity3d.com/thread-32273-1-1.html 今天我们继续分享米哈游技术总监贺甲在Unite Beijing 2018大会上的演讲<在Unity上实现高品质卡通渲染的效果>下篇,上篇请点击此处阅读. 下面为演讲内容: 接下来我们就来介绍一下头发的渲染.头发是卡通渲染角色较为重要且独特的部分.我们想要实现根据光源动态变化的高光和阴影渐变,并且这个实现还应具备直观的所见即所得的色彩调节能力. 和皮肤的材质一样,对于头发的漫反射渲染我们同样