[siggraph14]《刺客信条》的高级大气雾效渲染技术

大气散射光照模型整理 大气散射光照模型整理大气散射光照模型整理 资料整理 1Accurate Atmospheric Scattering 资料 2Flexible Physical Accurate Atmosphere Scattering 3Precomputed atomspheric scattering 4Rendering Outdoor Light Scattering in Real Time 5Mo 阅读详情

这里写图片描述
siggraph2014, advanced course中的
由ubisoft montreal带来。

总连接:http://advances.realtimerendering.com/s2014/

sum:
基于物理的,把atmosphere scattering,光照和阴影结合起来,把雾效和光照表达的非常好,应该说是目前顶尖实现了。
效果在置顶图里可以看到,这个是有基于物理的大气散射效果作为雾效,并且有光照的散射和阴影信息。

文章的前几页做了一些介绍,说了现在一些技术,包括:

  • 08年crytek推广的基于2D的radial blur的light shaft
    放的图片是witcher的图,是嘲讽它过时了么????
    这里写图片描述
    radial blur的问题就是它是screen space的,2D的,所有它有这两个技术的局限(类ssao):
    如果光源(太阳)不在视野里,light shaft的效果就看不到了等等,简而言之,它和本文讲的东西基本不是一码事。
  • billboard based
    这个在UE3里面用的多一些,美术放一些billboard模拟纯3D的光束散射,在一些UE3的作品里,比如《子弹风暴》里有很多。
    个人觉得这种做法有很好的产品价值,对于固定场景固定环境是一个很不错的选择,尤其是mobile平台上,它的问题就是美术要做相关的工作,不自动,不physically based,如果环境(光照,模型)是变化的,那么久不对的
  • 还有一个ray marching based的方法,游戏里用的比较少,也是有诸多的不足

刺客信条的方法
- 大量的使用了compute shader来提高效率
- 它的计算都是在3D空间上的
- 相关的media density(介质密度。。。翻译的好难受)计算
- 光照计算
- 光的扩散过程是physically based
这里写图片描述

density estimation
包括:

  • 风驱动的噪声信息
  • 雾的衰减
  • 散射参数

光照
这里包括了很全的点光源,直射光和阴影
由于有了3D 贴图,所以比较麻烦的是阴影,刺客信条这代的阴影精度已经非常高了,1k到1536这样,如果基于PCF来downsample到雾效所需的精度,需要大量的采样。
刺客信条使用了exponential shadow map(细节可以看这里http://blog.youkuaiyun.com/toughbro/article/details/6091152),这个技术选型非常的棒,exponential shadow map这种基于卷积的阴影技术简直就是为这个量身打造的(ps,曾经在自己项目里使用过esm,但是pc平台上面效率和效果都不如有硬件支持的PCF来的好)

scattering
基于大气散射的物理公式,使用ray marching的方式来积累in scatter和out scatter信息
这里写图片描述

compute shader
这里写图片描述
该使用compute shader的地方都使用了compute shader,这才是使得其所的计算方式啊

Unity 全局雾效Shader:基于摄像机距离的雾效渲染 写在前面的话: 这个雾效大部分代码源自 冯乐乐的书籍:Unity shader 入门精要。 在书中的示例代码中,主要基于了屏幕高度,而对屏幕进行雾效的渲染。我将其中的部分shader代码修改后,实现了基于摄像机距离的雾效渲染。先解释雾效shader代码的原理: 雾效的实现是基于屏幕后处理,即在摄像机上挂一个脚本,这个脚本中执行OnRenderImage函数,对摄像机所渲 阅读详情

相关推荐

UnityURPAtmosphericFog:Unity URP大气雾

统一城市大气雾 使用Shader Graph的Urp管道的AtmosphericFog 使用方法: 在设置中启用深度纹理 在您的urp Asset_Renderer中添加AtmosphericFogRenderFeature并使用参数 参考:

UE4-(雾效)大气雾

解释:大气雾提供一种光透过行星大气的光散射的近似现象。使用大气雾可以改变雾和天空的属性,如雾的密度或者亮度,天空的亮度、颜色。 可以让室外的场景看起来更逼真,大气雾是最复杂的雾,在场景中不会生成雾层,但是会生成地平线。(有时候自定义天空球颜色和地平线之后,却发现在场景中间位置还有另外一条地平线,可能就是因为大气雾的存在造成的。) 注意:大气雾是影响整个场景的,相当于大气雾笼罩整个场景,一旦调节,影响的是整个场景效果。 一、大气雾的参数调整: 注意:在定向光源、天空球存在的情况下参数调整后效果可能

Stone的博客 9165

unity-atmospheric-scattering:我尝试实现逼真的大气散射的项目

大气散射 大气散射的实现。 它将基于Unity 2018中的新HD渲染管道,因此它可能不会与早期版本向后兼容。 除了实现大气散射之外,我还将尝试在Unity中使用尚未使用的新功能和工具(例如Shader Graph,Compute Shaders,可编写脚本的渲染管线)。 Wiki中还提到了该项目中使用的源。

【Unity大气渲染】Unity Shader中实现大气散射(半成品)

关于在Unity里实现大气散射的过程记录(半成品)

qq_41835314的博客 2183

非真实感渲染siggraphy

非真实感渲染siggraphy,顶级论文

Qwen3-VL、Qwen3-Next与Qwen3.5多模态架构深度解剖

多模态大模型的核心不在参数规模,而在于视觉与文本如何协同建模。本文从基础概念切入,解析视觉语言模型中视觉编码器、跨模态注意力、特征对齐与token压缩等关键原理;阐述ViT、CLIP-ViT及动态压缩模块(HDTC)在语义表征、空间感知与计算效率上的技术权衡;强调结构设计如何决定模型在医学影像、工业质检、遥感分析等高要求场景中的真实能力边界;最终聚焦通义千问最新三套VL架构——Qwen3-VL、Qwen3-Next与Qwen3.5——揭示其背后迥异的融合哲学与工程取舍,为选型、微调与推理优化提供底层依据。

weixin_33778544的博客 818

案例学习——Unity基于体绘制的大气散射shader

本案例学习资料来源 Volumetric Atmospheric Scattering 案例学习——Unity基于体绘制的大气散射shader0 效果展示1 引入1.0 介绍1.1 单次散射(Single Scattering)1.1.1 出射散射(Out-Scattering)1.1.2 入射散射1.2 基于体绘制的单次散射模型(Volumetric Single Scattering)2 大气散射背后的理论2.1 透射函数2.2 散射函数2.3 数值积分2.4 方向光2.5 吸收系数3 瑞利散射中的数学

清清!的博客 5981

使用C#调用百度地图并实现坐标点的设置以及读取

使用C#调用百度地图申请百度地图密钥以及查看百度API程序实现功能:最终图利用webBrowser控件展示地图 申请百度地图密钥以及查看百度API 网址:http://lbsyun.baidu.com/apiconsole/key#/home 网址:http://lbsyun.baidu.com/jsdemo.htm#c1_3 程序实现功能: 1、输入网址那可以调用本地的html文件,也可以访问其他网站 2、输入坐标、添加坐标按钮,可以将坐标值传入html文件中,显示在经纬度的文本框中 3、定位按钮可以

qq_39261042的博客 3735

UnityShader——GPU GEM大气散射源码解析

这段时间磨磨蹭蹭的总算是把大气散射这块啃了下,没有去看论文原文了,主要参考的就是 GPU Gem2 里的这篇文章,要想更系统的了解大气散射相关发展的话可以看乐乐姐的这篇专栏 如果对渲染方程没有概念的话最好先阅读我之前的这篇博客 如图所示,大气散射其实就是图中绿色线条部分的光传播过程 首先简单的介绍下大气的两个散射模型: Rayleigh Scattering: 由大气中的小...

NotMz 3226

QT串口通信控制LED上位机开发教程

串口通信是嵌入式系统与PC端交互的基础技术,通过UART协议实现设备间的数据传输。QT框架提供了跨平台的串口编程支持,结合其GUI模块可以快速开发上位机控制程序。在工业自动化和物联网领域,这种上下位机架构广泛应用于设备监控和控制场景。本案例展示了如何使用QT的SerialPort模块实现LED控制功能,包含串口参数配置、指令发送等核心功能实现,为嵌入式GUI开发提供实践参考。

weixin_42598278的博客 582

智能挂锁软件需求规格说明书(SRS)

智能挂锁系统SmartPadlockV1.0是一款融合蓝牙通信、指纹识别和远程控制技术的便携式安防设备。系统由设备端、移动App和云平台三部分组成,支持蓝牙配对(10米内)、指纹识别、OTP一次性密码等多种开锁方式,响应时间<1.5秒。产品采用SM2/SM4加密技术保障安全,日均20次使用下续航达180天,兼容iOS13+/Android8.0+系统。功能包括设备绑定、远程授权、开锁记录查询和OTA固件升级,符合个人信息保护法规要求,适用于仓储、快递柜等多场景应用。

moton2017的博客 2112

《荒野大镖客2》的大气云雾技术

https://www.fgba.net/sitemap.xml

ludongguoa的博客 1708

Spine骨骼动画查看器 - Skeleton Viewer

骨骼动画是现代游戏和动画制作中常用的技术之一。Spine骨骼动画查看器(Skeleton Viewer)是一个官方提供的工具,用于查看和调试Spine骨骼动画。本文将介绍Skeleton Viewer的功能和使用方法,并提供相应的源代码示例。通过Skeleton Viewer,开发者可以直观地查看和调试Spine骨骼动画,包括骨骼结构、动画播放和事件触发等。这有助于提高骨骼动画的质量和效果,并加速开发过程。以上代码演示了如何使用Skeleton Viewer查看和播放Spine骨骼动画。

HsvvDatabase的博客 3462

[siggraph19]《荒野大镖客2》的大气云雾技术(2/4)

接下来我们看第二部分,这部分主要谈渲染部分,包括scattering 和lighting的render,相对内容也多一些。 voxel+raymarching 处理大气效果时候,为了兼顾近处的精度和场景的宏大,近处使用了 ...

安柏霖的专栏 1882

使用GBIF获取生物多样性数据与GIS的结合

随着全球生物多样性的重要性日益凸显,越来越多的研究人员和保护机构开始利用地理信息系统(GIS)来分析和可视化生物多样性数据。GBIF(全球生物多样性信息设施)作为一个全球性的生物多样性数据库,提供了大量的物种分布和分类信息,为研究人员和保护工作者提供了宝贵的数据资源。本文将介绍如何使用GBIF API获取生物多样性数据,并将其与GIS技术相结合,以便更好地理解和研究生物多样性。利用GIS的强大功能,我们可以在地理空间上可视化物种分布、分析物种多样性的空间格局,并为保护生物多样性提供科学依据。

BnxBackend的博客 1763

我的宠物狗学编程:从零开始的代码之旅

在这个示例中,我们定义了一个名为"interact"的函数,它通过输入函数获取用户的输入,并根据输入执行相应的代码块。在编程中,我们使用条件语句来根据不同的条件执行不同的代码块。对于我的狗狗,我将创建一个名为"feed"的函数来表示它的进食行为,并根据不同的条件输出不同的信息。在这个示例中,我们定义了一个名为"feed"的函数,并使用一个参数"food"来表示食物。对于我的狗狗,我将创建一个名为"dog_name"的变量来存储它的名字。对于我的狗狗,我将创建一个名为"bark"的函数来表示它的叫声。

2301_79331387的博客 333

UE4-数字孪生,如何在启用了大气雾和Bloom时让场景更清晰

==在命令行中输入r.Tonemapper.Sharpen,后面给一定的数值,数值越大,场景越锐利,也就有了清晰的感觉。==

a1406215966的博客 2095

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Atmospheric Scattering in Unity5

本次实践效果仅有Atmospheric Scattering和AA,并无其他post-processing,看到类似depth of field等的效果全部是Atmospheric Scattering的效果!! 总共改进三次,一次比一次效果真实,下面上三个版本的效果图 ver0 ver1 no Rayleigh scattering&Mie scatter

wolf96的专栏 1679

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

UE4_照亮环境_不同雾效的动态切换

我们在一个地图上,经常切换不同的区域,不同的区域可能需要不同的色调,例如暖色调的野外或者幽暗的山洞,这两种环境上,雾效的选用肯定不一样,夕阳西下的户外用的就是偏暖的色调,幽暗的山洞就可能用一个偏冷偏暗偏蓝的雾效,但是这些区域都是存在同一张大地图里面的,添加多个fog是不行的,每张map中只能添加一个雾效,所以我们需要通过蓝图动态修改指数高度雾的参数来进行色调修改。事件开始运行时可以判断是否重叠,来设置雾效。指数级高度雾要提前添加,同时要开启使用雾内散射颜色重载光源颜色,并设置雾内散射颜色。

Growthofnotes的博客 698

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

UE4-(场景)第五课环境雾

一、环境雾分为大气环境雾和指数高度雾 二、指数高度雾 经常用来加强场景的景深,参数中的 起始距离:指的是场景中的雾与摄像机的距离 场景效果: 更改开始距离后场景效果雾效离得较远 三、大气环境雾 指的是球天外层 可想象为地球外层的大气层 参数 值越高 天空越亮 区别: ...

Stone的博客 2090

Unity中Shader的雾效

我们在这篇文章中讲述一下,在Unity的Shader中的雾效

楠溪泽岸的博客 1548

UE4_环境_局部雾化效果

球体蒙版(SphereMask)表达式根据距离计算来输出蒙版值。A输入是某个点的位置,它需要与另一个点所用的坐标系一样,也就是矢量维度一致。,而另一输入B是具有某半径的球体的中心,那么蒙版值将是0(位于球体外部)和1(位于球体内部),并存在一定的过渡区域。此表达式可作用于单分量、双分量、三分量和四分量矢量。

Growthofnotes的博客 1590

URPFog:实现快速高效的雾效渲染

URPFog:实现快速高效的雾效渲染 在Unity游戏开发中,环境效果对于提升游戏场景的真实感至关重要。URPFog项目提供了基于Unity通用渲染管线(URP)的雾效解决方案,能够快速实现多种雾效,下面详细介绍这款开源项目。 项目介绍 URPFog是一个专门为Unity通用渲染管线设计的雾效插件。它基于URP的Volume框架和Renderer Feature,使得用户可以轻松在游戏场景中添加雾...

gitblog_00192的博客 395

ShaderNote-雾渲染学习

预览图,使用了Noise+屏幕后处理雾 Unity中也有内置 的雾,在Lighting-setting下,有个fog选项。 但是这种雾是非动效的, 大概就是这样的。 参数信息: 中文文档。 https://connect.unity.com/doc/Manual/GlobalIllumination 官方也是推荐使用 后期渲染来实现雾效; 屏幕后处理: 主要是利用 相机渲染时,对原渲染图进行...

zebin的博客 517

unity3d shader之实时室外光线散射(大气散射)渲染

散射需要:吸收,内散射,外散射 分为瑞利散射Rayleigh Scattering和米氏散射 Mie Scattering  后面会详细讲解 大气中散射由多种原因产生,微粒,尘埃,水蒸气等等 阳光由于散射增加会减弱并变色   物体也会随着距离增加散射增加而减弱并变色   大气光线散射由于 一天中的时间,天气,污染的改变而改变 散射共通篇 Radiometric

wolf96的专栏 1万+
上一篇: Nvidia Maxwell Architecture
下一篇: [siggraph14]杀戮地带的反射和体积光照技术
安柏霖
安柏霖 领域专家: 学术研究与理论基础技术领域 领域专家: 学术研究与理论基础技术领域
博客等级 码龄20年 1788粉丝 891原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值