[siggraph14]杀戮地带的反射和体积光照技术

Unity Shader-GodRay,体积光(BillBoard,Volume Shadow,Raidal Blur,Ray-Marching) 前言好久没有更新博客了,经历了不少事情,好在最近回归了一点正轨,决定继续Unity Shader的学习之路。作为回归的第一篇,来玩一个比较酷炫的效果,一般称之为GodRay,也有人叫它云隙光,当然,最高大上的名字就是体积光散射了。这几个名字对应几种类似的效果,但是实现方式相差甚远。先来几张照片以及其他游戏的截图看一下:ps:这张图片是一张照片哈,是本屌丝看别人的云南游记发现的,清明节本来想去的,结... 阅读详情

这里写图片描述
siggraph14, KillZone:ShadowFall的开发商guerilla games带来。
links:http://advances.realtimerendering.com/s2014/
sum
反射:screen space reflection+offline env map,并且物理正确
体积光:ray marching+shadow
各种优化手段都上了,在效果和效率都有不错的表现

反射
这里写图片描述
- 能用screen space reflection的像素就使用,不行的像素使用offline env map
- killzone里env map使用的比较多,probe很多,而且是parallax correct的
物理正确:
- env map的filter是依据brdf来的,不是简单blur出mipmap chain
- screen space reflection,也是会做基于BRDF的filter,生成1/4到1/32这样的各级别,然后根据gloss来进行sample,这个不是完全物理正确,但是已经考虑进了gloss,比之前crytek的已经进了一步
performance:
- 在1/4 resolution上做的
- 使用reprojection,会通过4帧的积累,合并成最终的一个反射,效果上会有一些抖
- reprojection就使用在这种不需要绝对准确的地方挺好
最后完成反射pass的所有工作,ps4上面2.8ms

volumetric lighting
这里写图片描述
view space ray marching
这里写图片描述

  • 以比较固定的步数去sample,以depth为终点
  • 每一步会sample shadow
    filter优化,对于这类精度要求不高的,类particle的性能和品质优化方式悉数出动:

  • 1/4 resolution+bilateral filter

  • dither,让sample点更随机
  • 性能消耗大约是2ms(ps4, 1080p)
    补充:

  • killzone的这个做的是光在均匀介质里的传播计算,所以一些烟雾,或者典型的有密度变化的雾的效果难以表达,这种情况使用particle来补充

  • 这个计算可以针对多个光源来做的,比如:自然光和机器人的光都投出了volumetric lighting
    这里写图片描述

比较刺客信条的volumetric lighting&fog,刺客信条要好不少:
- 刺客信条更进一步,在fog的density上面有很好的参数定义,而且密度这些可以随着风等变化,进而在计算的时候引入这些density,
- 刺客信条使用的3d texture,可以进行scattering,光的散射,GI,点光源都可以应用进去,更加物理正确
- 性能:killzone 2ms,刺客信条1.1ms

体积雾/体积光原理及实现paper 对体积光和体积雾原理讲解很详细的文档,还有对其实现及gitHub地址。 立即下载

相关推荐

从OpenClaw到Hermes Agent:AI Agent实战部署与自动化工作流构建

AI Agent(智能体)作为大语言模型(LLM)的能力延伸,其核心原理在于通过工具调用(Tool Calling)与环境交互,使模型从“对话”走向“执行”。这一技术价值在于将自然语言指令转化为具体操作,实现业务流程自动化,从而提升开发与运维效率。在应用场景上,AI Agent广泛适用于自动化运维、智能客服、数据报告生成等重复性任务处理。本文聚焦于两大热门开源框架OpenClaw与Hermes Agent,深入探讨其部署配置、技能扩展及实战联调。通过结合OpenClaw的模块化扩展能力与Hermes Age

weixin_34122810的博客 506

[图形学] Killzone: Shadow Fall 中的体积光效果

reference : 《GPU Pro 5》 简介 体积光效果是由于光线在潮湿、多尘或烟雾环境中散射产生的(如图3.1所示)。这是一个令人惊叹的自然现象,它可以用于创建壮观的图像,并为环境增添氛围感。 关于光散射和体积光已经有了许多文章。它们的中的大多数都专注于提高渲染性能和图像质量的技术。但是,它们中的大多数都没有解决在现实中的游戏场景中实现效果所需要克服...

(ง •̀_•́)ง 3320

解决usbisp不识别无法烧录Atmega328P,Arduino不识别问题

如果使用Arduino IDE里面的烧录,可能会遇到一个问题,就是不识别国产这种廉价的USBISP 点击烧录引导程序,会遭遇到找不到USB设备的问题,选哪个都会提示找不到,比如选择USBasp could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp' 因此,我们需要使用到progisp这一个软件的1.72版本 选择好芯片的型号后,调用编译好的HEX文...

arenascat的博客 7439

UE体积光Volumetric Lights in Unreal Engine 4.16

https://evermotion.org/tutorials/show/10663/volumetric-lights-in-unreal-engine-4-16 https://www.youtube.com/watch?v=9tkPIGXJEGg Open Epic Launcher (it's plish version here) and choose "Library" on...

yaoyutian的博客 2524

WinForm实战:如何用C#和PdfiumViewer打造一个功能齐全的PDF阅读器(含源码)

本文详细介绍了如何使用C#和PdfiumViewer库从零开始构建一个功能齐全的WinForm PDF阅读器。内容涵盖项目环境搭建、核心组件解析、基于命令模式的工具栏与UI架构设计,并深入讲解了智能缩放、页面导航、打印功能等核心交互的实现,以及内存管理和性能优化等高级话题,为开发者提供了一套完整的实战解决方案。

docker8compose的博客 503

AHB—SRAMC项目(结构图,核心代码、Testbench架构)

文章目录一、AHB_SRAMC项目介绍1.1.AHB总线控制单元(ahb_slv_if.v)1.2.SRAM控制单元(sramc_top.v)1.3.主要的传输路径二、结构框图2.1.AHB_SRAMC结构图(重点)2.2.总线控制单元与SRAM控制单元结构图三、部分核心代码(重点理解)四、SystemVerilog Testbench架构(重点)五、目录结构 一、AHB_SRAMC项目介绍 本项...

Mr.翟的博客 3万+

【GPU精粹与Shader编程】(一) 开篇 & 全系列11本书核心知识点总览

  本文由@浅墨_毛星云 出品,首发于知乎专栏,转载请注明出处  文章链接: https://zhuanlan.zhihu.com/p/34917895   系列文章前言   《GPU Gems》1~3 、《GPU Pro》1~7 以及《GEM Zen》组成的GPU精粹系列书籍,是游戏开发、计算机图形学和渲染领域的业界大牛们优秀经验的分享合辑汇编,是江湖各大武林门派绝学经典招式的精华荟萃...

【浅墨的游戏编程Blog】毛星云(浅墨)的专栏 3万+

使用 MATLAB/Simulink 对基于同步发电机的双机系统进行建模

双机系统(Two-Machine System)是电力系统中用于研究动态稳定性和控制策略的一个典型模型。它由两台同步发电机通过输电网络相互连接,模拟实际电网中的互联操作。当发生短路故障时,系统的暂态稳定性会受到挑战,可能导致发电机失步或电压崩溃。本教程将带你使用 MATLAB/Simulink 对基于同步发电机的双机系统进行建模,并对其在短路故障条件下的暂态稳定性进行仿真和分析。

amy_mhd的博客 216

unity3d软阴影和硬阴影的原理_Unity实现简易体积光/体积阴影

有玩过《杀戮地带:暗影坠落》的小伙伴可能会对游戏里的体积光影有很深刻的印象,感觉开发人员在设计画面的时候非常想要突出体积光以及横向的高光,使得游戏画面很有特色。其使用的体积光影之多甚至让我产生了“光污染”的感觉,本文就来简单的实现一下这种朦胧的效果。刚接触渲染时就被下面这些大佬的实现惊艳到,这里也用到了许多里面的技巧。优快云-专业IT技术社区-登录blog.youkuaiyun.comMaxwel...

weixin_39815435的博客 515

基于未来出行解决方案的场景实例:城市空中交通(UAM)的飞行路径规划与避障

本文介绍了使用Simulink进行城市空中交通(UAM)飞行路径规划与避障的仿真方法。主要内容包括:1)UAM系统架构与核心挑战;2)详细建模步骤,从城市3D环境构建到飞行器动力学模拟;3)全局路径规划(A*/RRT*)和局部避障(DWA/APF)算法实现;4)多机协同与冲突解决;5)关键场景仿真与性能评估;6)高级功能拓展方向。通过Simulink的数字孪生系统,可有效验证UAM在复杂城市环境中的可行性,为未来立体交通发展提供技术支撑。

xiaoheshang_123的博客 257

智能车图像处理1-基础图像规格

从厂家摄像头的库函数中,我们可以直接得到完整图像的灰度数组,经过二值化之后(算力允许,可以考虑大津法),就是我们要处理的0-1二值图像了。本系列所有的文章中,我们的图像规格如下。

taiyuezyh的博客 4345

[siggraph17]decima engine的光照和aa技术

siggraph17上面killzone和开发商guerrilla和小岛工作室两个工程师带来,关于decima engine的光照和AA技术。 checkerboard部分可以说是比较精彩的; heightfog在理解数学的基础上,也是比较直接,然后。。。效果很赞的!

安柏霖的专栏 6253

华为OD机试 新系统 双机位C卷 往年真题 机考题库(持续收录中)以及算法考点详解

每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 7万+

体积光 GodRay

1.灯光控制系统  体积光属于一种室内灯光控制系统,其主要呈现一种灯光洒过某种介质后在物体周围所形成的一种光泽。   体积光的渲染方法:   先打开一盏主光灯,调好主光灯的参数,原地复制一个出来(但这时注意不要关联复制)..复制出的这盏灯,将其设置成体积光的参数。不过建议先不要用

痞子龙3D编程 7334

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

[OpenGL] 体积光效果实现

reference: Volumetric Light Effects in Killzone: Shadow Fall [1] Interactive Rendering Method for Displaying Shafts of Light [2] 游戏开发相关实时渲染技术之体积光 [3] 本文包含的内容: 1.体积光介绍 2.使用Ray-match实现最基本的体积...

(ง •̀_•́)ง 7907

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

文章目录思路实践获取光源空间ShadowMap获取屏幕空间的深度图获取SSSM(Screen Space Shadow Map)绘制一个全屏的Quad屏幕空间的优缺点优点缺点 刚学习了Shadow Map的原理:Unity Shader - Custom DirectionalLight ShadowMap 自定义方向光的ShadowMap 现在试试实现SSS。 一篇听着《左手指月》一遍Codin...

Jave.Lin 的学习笔记 4589

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Book Review: ShaderX 7

         作为游戏图形开发者一年一度的大餐,ShaderX 7终于出版了。800页的厚度,近2kg重,创造了ShaderX系列的新记录。刚刚拿到手不久,做个简评。     Geometry Manipulation一共5篇文章,都是关于基于geometry shader的real-time tessellate,ATI技术大牛Natalya的一篇还提到了即将到来的DX 11中的Te

Clayman的专栏 7823

Volumetric lighting implementations in games

abstract this paper researches different volumetric ligthing implementations in the modern games. phyiscal theory behind the atmospheric scattering and five known algorithms of its implementation are ...

小孔明的专栏 1480

《杀戮地带:暗影坠落(Killzone: Shadow Fall)》工程师讲解使用屏幕空间反射系统

相信很多玩家十分喜欢Guerilla Games打造的FPS大作《杀戮地带:暗影坠落(Killzone: Shadow Fall)》,这款游戏里面的科技含量不容小觑,在今年SIGGRAPH展会上,Guerilla Games的首席工程师Michal Valient给我们讲解了游戏中使用的屏幕空间反射系统和体积渲染系统的演讲,一起来普及一下科学知识吧。       Guer

痞子龙3D编程 3991

[siggraph17]《使命召唤13:无限战争》光照技术

siggraph17, cod13是infinity ward开发的,技术是多方合作出来的,这篇presentation是activition central tech两个哥们带来; - 在受光的dynamic mesh上面decouple visibility并离线bake - 在probe的放置上的自适应算法 - triangular map解决漏光问题

安柏霖的专栏 3813

【UnityShader】光线追踪体积光

最近尝试实现了一下光线追踪体积光,效果如下: 光线追踪(Ray tracing)是三维计算机图形学中的特殊渲染算法,跟踪从眼睛发出的光线而不是光源发出的光线,通过这样一项技术生成编排好的场景的数学模型显现出来。(摘自维基百科) 实现步骤: 一、在灯光区域生成体积光的载体mesh,即我们的体积光实际上是渲染在mesh上的,因此光线追踪的起点是每个顶点的位

MrASL的博客 8796

《钢铁侠》等电影中的image based lighting和physical shading

http://renderwonk.com/publications/s2010-shading-course/snow/sigg2010_physhadcourse_ILM_slides.compressed.pdfhttp://renderwonk.com/publications/s2010-shading-course/snow/sigg2010_physhadcourse_ILM.pdf

安柏霖的专栏 1万+

《守望先锋》中的网络同步技术

暴雪的网络程序员介绍《守望先锋》中的网络同步技术,以及如何去改善

安柏霖的专栏 9819

[siggraph13]虚幻引擎4的基于物理模型光照

siggraph13上面EpicGames带来的UnrealEngine4的PhysicallyBasedRendering(基于物理模型光照)部分内容。 EpicGames应该说进入PhysicallyBasedRendering较晚了,但这样就有比较多的参考,这里Epic重要的参考是迪斯尼在做cg(《无敌破坏王》等)使用的光照材质模型,并且在实际开发过程中进行了精简,并且和用于游戏开发的pipeline相结合,取得了不错的成效。 在理论算法方面,在基于cubemap的secondary specular

安柏霖的专栏 7847

《最终幻想》的渲染技术

12年时候的最终幻想的技术demo可以说让很多人眼前一亮,这里是其中的一些技术, 总体看下来,可以说在业内具有相当的先进性,在局部也有一些自己的理解和不同的做法,很棒!

安柏霖的专栏 7335

[siggraph13]《命运》的实时渲染技术

Intro《destiny》是《Halo》缔造者bungie脱离微软之后,开发的第一款作品,其引擎pipeline由一帮业界大牛历时4年重新开发,这里是介绍下其中的一部分渲染技术。140+页的ppt,还真是带劲,由纵横业界多年的灭绝师太,natalya领衔带来。

安柏霖的专栏 6932
上一篇: [siggraph14]《刺客信条》的高级大气雾效渲染技术
下一篇: [siggraph14]《命运》的装备系统
安柏霖
安柏霖 领域专家: 学术研究与理论基础技术领域 领域专家: 学术研究与理论基础技术领域
博客等级 码龄20年 1788粉丝 891原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值