A9VG电玩部落论坛

 找回密码
 注册
搜索
楼主: 紫色世界

[心情分享] 08年的游戏加上光追是什么效果

[复制链接]
该用户已被禁言

精华
0
帖子
6793
威望
0 点
积分
6937 点
种子
593 点
注册时间
2012-5-29
最后登录
2024-11-16
发表于 2021-2-8 09:38  ·  广西 | 显示全部楼层
紫色世界 发表于 2021-2-8 09:36
全局光照,(Global Illumination,简称 GI),

对啊,和光追英文完全不同。

精华
0
帖子
4071
威望
0 点
积分
4735 点
种子
1569 点
注册时间
2020-12-24
最后登录
2024-11-22
 楼主| 发表于 2021-2-8 09:44  ·  上海 | 显示全部楼层
powerh3 发表于 2021-2-8 09:38
对啊,和光追英文完全不同。

全局光照是总称,光追只是别名但指的是一个东西。
该用户已被禁言

精华
0
帖子
6793
威望
0 点
积分
6937 点
种子
593 点
注册时间
2012-5-29
最后登录
2024-11-16
发表于 2021-2-8 09:47  ·  广西 | 显示全部楼层
紫色世界 发表于 2021-2-8 09:44
全局光照是总称,光追只是别名但指的是一个东西。


光追是全局光照实现的方式之一。。唉。。



全局光照的主要算法流派


经过几十年的发展,全局光照现今已有多种实现方向,常见的全局光照主要流派列举如下:



    Ray tracing 光线追踪
    Path tracing 路径追踪
    Photon mapping 光子映射
    Point Based Global Illumination 基于点的全局光照
    Radiosity 辐射度
    Metropolis light transport 梅特波利斯光照传输
    Spherical harmonic lighting 球谐光照
    Ambient occlusion 环境光遮蔽
    Voxel-based Global Illumination 基于体素的全局光照
    Light Propagation Volumes Global Illumination
    Deferred Radiance Transfer Global Illumination
    Deep G-Buffer based Global Illumination
    等。





而其中的每种流派,又可以划分为N种改进和衍生算法。

如光线追踪(Ray Tracing)派系,其实就是一个框架,符合条件的都可称为光线追踪,其又分为递归式光线追踪(Whitted-style Ray Tracing),分布式光线追踪(DistributionRay Tracing),蒙特卡洛光线追踪(Monte Carlo Ray Tracing)等。

而路径追踪(Path tracing)派系,又分为蒙特卡洛路径追踪(Monte Carlo Path Tracing),双向路径追踪(BidirectionalPath Tracing),能量再分配路径追踪(Energy Redistribution PathTracing)等。

其中有些派系又相互关联,如路径追踪,就是基于光线追踪,结合了蒙特卡洛方法而成的一种新的派系。

精华
0
帖子
4071
威望
0 点
积分
4735 点
种子
1569 点
注册时间
2020-12-24
最后登录
2024-11-22
 楼主| 发表于 2021-2-8 09:50  ·  上海 | 显示全部楼层
本帖最后由 紫色世界 于 2021-2-8 09:51 编辑
powerh3 发表于 2021-2-8 09:47
光追是全局光照实现的方式之一。。唉。。


对啊!就是一个东西啊!
每个公司有各自实现的方法而已,但本质是一样的!
该用户已被禁言

精华
0
帖子
6793
威望
0 点
积分
6937 点
种子
593 点
注册时间
2012-5-29
最后登录
2024-11-16
发表于 2021-2-8 09:53  ·  广西 | 显示全部楼层
紫色世界 发表于 2021-2-8 09:50
对啊!就是一个东西啊!

你不是吧,你看看下面 有 多少种 实现 全局光照 的方式,再来吹。。

光追仅子集之一。。呵呵。。

精华
0
帖子
4071
威望
0 点
积分
4735 点
种子
1569 点
注册时间
2020-12-24
最后登录
2024-11-22
 楼主| 发表于 2021-2-8 09:58  ·  上海 | 显示全部楼层
powerh3 发表于 2021-2-8 09:53
你不是吧,你看看下面 有 多少种 实现 全局光照 的方式,再来吹。。

光追仅子集之一。。呵呵。。 ...

本质是一样的模拟真实光照啊!和烘培没半毛钱关系啊
该用户已被禁言

精华
0
帖子
6793
威望
0 点
积分
6937 点
种子
593 点
注册时间
2012-5-29
最后登录
2024-11-16
发表于 2021-2-8 10:00  ·  广西 | 显示全部楼层
紫色世界 发表于 2021-2-8 09:58
本质是一样的模拟真实光照啊!和烘培没半毛钱关系啊

Lumen就是软光照,和 n吹那个光追,不是一个东西。。

烘焙是预渲染,用的就是光追技术。。

精华
0
帖子
4071
威望
0 点
积分
4735 点
种子
1569 点
注册时间
2020-12-24
最后登录
2024-11-22
 楼主| 发表于 2021-2-8 10:01  ·  上海 | 显示全部楼层
powerh3 发表于 2021-2-8 10:00
Lumen就是软光照,和 n吹那个光追,不是一个东西。。

烘焙是预渲染,用的就是光追技术。。 ...

软光追就不是光追了吗?烘培是贴图技术不是光照技术!大哥

精华
0
帖子
4071
威望
0 点
积分
4735 点
种子
1569 点
注册时间
2020-12-24
最后登录
2024-11-22
 楼主| 发表于 2021-2-8 10:04  ·  上海 | 显示全部楼层
powerh3 发表于 2021-2-8 10:00
Lumen就是软光照,和 n吹那个光追,不是一个东西。。

烘焙是预渲染,用的就是光追技术。。 ...

你说的可能是指Nanite而不是Lumen

Nanite

Nanite是一个多边形虚拟化的技术。从名字可以看出Epic对于纳米机器人的向往(笑)。何谓虚拟化呢?我们知道在一个CG场景中,一个栩栩如生的三维世界是由很多很多模型构成的,而这些模型的基础是三角形。作为构成虚拟世界的“基础粒子”,三角形的数量通常极其巨大。一个21世纪的科幻电影场景可以轻松包含数十亿个,一个新款次世代游戏大作也能包含数千万个。把所有这些三角形都渲染出来不仅十分费时,也非常没有必要。因为通常观众视野中可见的三角形大概只有总数的5%,甚至更低。于是人们着手对这些三角形进行剔除。常见的操作有视锥剔除和遮挡剔除,前者剔除所有不在视野范围内的所有模型,后者剔除被其它物体遮住的模型。再后来有了细节级别(LOD)的概念,对于远处物体使用粗糙的版本,近的物体使用高精度的版本。

但是这些还只停留在模型级别,对于更大规模的三角形构成还远远不够。



三角形虚拟化

上世纪70年代末的加州,乔治卢卡斯的影视梦想正在如日中天的进行着。为了“不可能”的视觉追求,1979年,卢卡斯影业旗下的工业光魔新增了一个图形学部门,先后加入了如今计算机图形学的几大宗师级人物。夹杂着年轻的狂热和对3D动画的憧憬,一番疯狂的研究后,在上世纪80年代初,几位大师做出了REYES渲染架构,这套框架的前瞻性非常强,也是后来人们很多研究思路中所采用基础性理论,直到近几年也不断有研究者希望在GPU上复现REYES的渲染框架。

在REYES中,三角形虚拟化通过参数化曲面经过动态表面细分完成,细分后进行筛选,确保每个微表面大约为1像素大小。这里面有两个十分重要并且让人津津乐道的理论:渲染率和几何采样率(Shading & Sampling Rate)。其中渲染率第一次提出了三角形自适应像素大小的虚拟机制。而采样率决定了可见度的品质。如今的人们每每遇到光线跟踪对于运动模糊那令人发指的运算效率时,总会拿出RenderMan (REYES) 的解决方案来细细品味。


虽然REYES框架是如此成功,但这套理论还不适合当前的GPU硬件*。

于是后来有了几何着色器(Geometry Shader)和基于硬件的几何体镶嵌(Tessellation, AMD),这是个曲面细分的简化变种,当时的愿景是要达到自适应LOD和光滑曲面和超复杂表面细节。但没有合适的数据源的支持,该方案带来的问题大于实质解决的问题。最后也只能止步于位移贴图的范畴。

不久之后一代游戏实时图形大神约翰卡马克在在游戏毁灭战士3(Doom 3)中首次应用了MegaTexture技术,该技术是一种纹理虚拟化技术


虚拟纹理 :每个渲染面的实际纹理经过一层索引转换,显存里的真实纹理是由当前预估会用到纹理块拼凑而成。而真实纹理在实际运行中不断从储存介质中取出,更新。



顺着这个虚拟化的理念,卡马克在几年后(2008)的QuakeCon会议上提出了几何虚拟化的理想。纹理虚拟化相对简单主要是因为图片是方正的,流程见上图。但几何体储存方式的不同,实现这个目标极其复杂并且bug层出不穷,直至卡马克的id software公司卖给ZeniMax,该问题也没有得到很好的解决。

从业界来看,MegaTexture技术的成功不仅让卡马克燃起虚拟化几何体的雄心壮志,图形学业内也是跃跃欲试。最初典型的方式是移花接木:把几何体通过数学手段在预处理阶段编码成2维图像,然后再套用现成的纹理虚拟化技术来完成后续工作。但这个手段限制过多,根本无法进入实战,所以也就没有走出实验室。其次是采用几何着色器或者镶嵌着色器(Geometry / Tessellation Shader),尝试在在模型中加入辅助属性来完成REYES的dicing与busting步骤,不过这两个着色器本来硬件驱动层面就性能堪忧,并且灵活性不足。尤其是Geometry Shader,先天缺陷极为明显(部分也要归咎于NVidia坡脚的驱动实现),满足不了实际运用中复杂多变的需求,最后也是不了了之。

那两年江湖险恶,刀光剑影,高手频频过招却没有一个赢家。

其中比较有意思的显卡大厂NVidia在2009年提出了Bindless概念。因为目前拦在大家和巨量三角形渲染之间的无非两个问题,三角形渲染数量和批次数量。前者很好理解,而后者可以理解为多人合作中的沟通开销,沟通次数越多,开销越大。Nvidia的这个方法有效解(tao)决(bi)了这个问题。这个有趣的取巧功能,后来也被吸纳进了DX12。如此,剩下的就只有一个困难了。

随着图形硬件逐年强大,虽然摩尔定律已死,不过经过几十年的沉淀,显卡的计算能力早已今非昔比。显卡厂商开始把目光瞄向通用计算。通用计算的想法由来已久,但真正写下这个词的确是麻省理工的一个高材生。显卡厂商把已有的DX9/OpenGL3可编程管线稍作升级,就赋予了初级通用计算的能力,开始和CPU之间开展市场竞争**。

家用PC市场萎缩的势头明显,在科学计算领域尝到甜头的显卡厂家开始疯狂发力,通用计算GPU(GPGPU)高速增长时代拉开序幕。

在通用计算能力的加持下,显卡的内存访问方式得到了巨大的解放,以前很多不可能的操作都可以在计算着色器中轻松完成。于是乎,几何虚拟化再次被提上日程。


终于在2018年,我们等来了网格着色器Mesh Shader(上图),这次同样是NVidia带的头。Mesh Shader是在通用计算基础上提出的,它解决了两个巨量三角形渲染的瓶颈问题。如果我们把显卡内部想象为一个车间,那么Mesh shader相当于一个新上任的经理,他解决了以下两个问题:

三角形绘制工作的派发效率
三角形绘制工作的派发预处理
什么意思呢?传统车间里,绘制小组必须通过一个死笨死笨的传送带,一个个来接收原始三角形组件;而现在改成了n 多条智能分发系统,不仅传输速度有着质的飞跃,而且这个智能分发系统可以智能决定三角形是否是有效的,是否值得绘制小组来渲染 (部分重现了REYES的几何排除步骤)。

在这两大措施的改革下,不仅系统原始吞吐量提高了3倍,而且整个过程变智能了,加上动态LOD和面片级剔除,三角形处理数量可以以100倍作为基数来提升。按照Roblox 大佬Kapoulkine的现身说法,RTX2080上简单优化后实时渲染5亿三角形实测下来是完全可行的。这里的渲染指的无任何额外剔除,暴刀渲染全部三角形。该数据和UE5 demo里提到的数字大致吻合。(“billions triangles crunched down losslessly to 20 million drawn triangles” ,“500 statues, each with over 33M triangles”)。

根据目前比较确切的信息来看,UE5 Nanite应该是基于Mesh Shader的(DX12 & Vulkan Mesh shader)。然后在Mesh Importing阶段预计算类似于LOD的数据,在运行时进行动态解析(resolve),动态剔除。

虽然该技术从原理上讲不算复杂,但真正整合进引擎却是一个庞大工程,这里不由得给虚幻点一个赞。



Turning Mesh Shading: 这里演示的是由Mesh shader进行的动态Lod计算,动态层级剔除。这还只是固定LOD的做法。按照Mesh shader的灵活性来看,性能和画质还可以不止停步于此,做到全动态完全可能。UE5的demo里,似乎是做到了全动态。



值得说明的是,这样的性能并不一定需要PS5,支持DX12的Xbox X同样能办到。PC里,RTX2070以上同样可以运行。此外这套技术对于VR来讲也算是十分及时。

几何虚拟化可以让创作者省去部分法线贴图,以及去掉原本法线贴图中要求的切线空间坐标转换问题,无后顾之忧的直接套用高模可以给艺术家的创作力和迭代速度带来质的飞跃。

当然这也不是毫无缺点,首先是巨大的储存访问带宽的要求,只有目前最新的NVMe接口配合高速CPU抑或是PS5的flash controller可以满足。其次,如此巨大的三角形构成,让精确的光线跟踪变得非常困难。未来各家厂商如何演变,我们拭目以待。

该用户已被禁言

精华
0
帖子
6793
威望
0 点
积分
6937 点
种子
593 点
注册时间
2012-5-29
最后登录
2024-11-16
发表于 2021-2-8 10:05  ·  广西 | 显示全部楼层
紫色世界 发表于 2021-2-8 10:01
软光追就不是光追了吗?烘培是贴图技术不是光照技术!大哥

软光照是软光照,GI不是光追。。呵呵。。


烘焙不用光追渲染,能出来??怎么没用光追,还是影视级光追。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-11-23 10:15 , Processed in 0.216721 second(s), 11 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部