Board logo

标题: 《KillZone2》所采用的实时阴影技术。 [打印本页]

作者: 费迪南德    时间: 2007-8-3 13:13     标题: 《KillZone2》所采用的实时阴影技术。




西川善司の3DゲームファンのためのE3ゲームグラフィックス講座

今世代の影生成は完全にシャドウマップ系が主流

本世代的阴影生成,shadowmap系是主流


影生成は、改良技法の登場が著しいデプスシャドウ技法(シャドウマップ技法)が主流を占め始めている。「DOOM III」全盛時代の2004年前後には「ステンシルシャドウボリューム技法」の採用タイトルも多かったが、今では、ほとんど見られなくなっている。

       
「Assassin's Creed」のリアルタイム影生成もシャドウマップ系技法を採用
刺客信条中采用的就是shadowmap阴影算法。


 シャドウマップ技法のバリエーションとしては、「Unreal Engine3 (UE3)」でも採用された「バリアンスシャドウマップ技法」が最近では特に採用が目立っているようだ。
UE3引擎采用的是Shadowmap的改良型varians-shadowmap。


 これは、適当なシャドウマップ技法を実装した上で、影か否かを判定する部分の計算を「影か否か」の0か1かの判定をするところを、バリアンスシャドウマップ技法では、ここで「チェビシェフの不等式」を用いて「光が当たっている最大確率」を算出するのだ。
varians-shadowmap采用车比雪夫不等式来计算受光效果的最大确率。

 この技法のユニークなのは3Dグラフィックスに確率論の方程式を持ってくるところだ。この影か否か判定の結果が最大確率は0~1で表わされるため、この値をそのまま影の色(≒影の濃さ)として利用できる。

 通常のデプスシャドウ技法において影領域の輪郭にジャギーがでやすいのは、この箇所の「影か否か判定」が難しいのに「影(0)か、光が当たっている (1)か」の2択にしてしまっていたからだ。ここを確率……すなわち実数で表わせることになるので滑らかにできる。つまり、影の本体に近ければ近いほど影の確率は高くなって影は濃くなり、遠ければ遠くなるほど影の確率は低くなり薄くなる……というような感じだ。

       
左が「UE3」ベース「John Woo Presents Stranglehold」より。右は「UE3」ベース「Army Of Two」より。「UE3」ベースタイトルで採用されることの多いバリアンスシャドウマップ技法

「KILLZONE 2」のリアルタイムシャドウについて示したスライド


 もう1つの主流は、「ロスト プラネット」などで採用された、ライトスペースシャドウマップをカスケード実装したものも多く採用される傾向にある(この技法の詳細はこちらの記事を参照して欲しい)。
另一大主流阴影算法,是LP中采用的Lightspace

 E3で、そのリアルタイム映像のクオリティの高さが話題を呼んだSCEヨーロッパのPS3専用タイトル「KILLZONE 2」でも、この技法が採用されていることが明らかにされている。
KILLZONE2中采用的是Lightspace算法的阴影。





-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

新世代技术图形我一窍不通,技术问题大家自己探讨吧:D

[ 本帖最后由 费迪南德 于 2007-8-3 13:23 编辑 ]
作者: conroe6050    时间: 2007-8-3 13:14

PSP啥时喷?
作者: aweiwei    时间: 2007-8-3 13:19

这幻灯片写的............
作者: 耶稣复临    时间: 2007-8-3 13:21

LightsP都什么游戏用过?效果上有什么区别
作者: Jonsoncao    时间: 2007-8-3 13:21

代码都差不多的话,那为啥LP里面没发现过的马赛克阴影在KZ2预告片里面出现了
作者: 爱你一棒陲    时间: 2007-8-3 13:22

UE3可是支持体积光照和体积阴影的,UE技术支持站点首页有。用阴影贴图居然那么多锯条

[ 本帖最后由 爱你一棒陲 于 2007-8-3 13:24 编辑 ]
作者: dameng    时间: 2007-8-3 13:23

一切以实际效果为准,扯淡的无视
作者: 费迪南德    时间: 2007-8-3 13:24

引用:
原帖由 Jonsoncao 于 2007-8-3 13:21 发表
代码都差不多的话,那为啥LP里面没发现过的马赛克阴影在KZ2预告片里面出现了
用电脑玩LP,配置不高的话,阴影也可以调成效果低,锯齿就出来了:D
作者: 爱你一棒陲    时间: 2007-8-3 13:25

采样和过滤的问题么?
作者: lsy    时间: 2007-8-3 13:25

这游戏的发售日公布没呢?定价多少?
作者: 爱你一棒陲    时间: 2007-8-3 13:30

偶BT下载支持CRYTECH。
作者: Nothing    时间: 2007-8-3 14:02

shadowmap的先天不足就是边缘锯齿,z-fight...现在除了战争机器看起来还可以,其他的next gen游戏几乎都有这个毛病: Lair, GT4 HD等等

shadowmap的原理本来就是在光源空间(lightspace)里渲染一张深度贴图,然后转换到camera空间,和物体上的z值比较后得出某个点是不是在阴影里。不知道killzone2所谓的lightspace shadow有什么特殊的地方。
作者: Jonsoncao    时间: 2007-8-3 14:06

引用:
原帖由 费迪南德 于 2007-8-3 13:13 发表
varians-shadowmap采用车比雪夫不等式来计算受光效果的最大确率。
是variance,方差的意思

最大确率的意思是最大的概率

意思是给定随机的某个面,落在阴影区域的可能概率由给我们给定的误差所控制

比如我们把误差设定在某个值之后,在所有由此不等式计算出来概率>95%(比方说这个概率)的面上进行贴图

英文是Chebyshev inequalities,感兴趣的同学可以去wiki上查
作者: 飞坦    时间: 2007-8-3 14:12

零红碟和寂静林2 3用的什么阴影算发,效果怎么感觉比KZ2 刺客这些还好?
作者: yiliya    时间: 2007-8-3 14:15

引用:
原帖由 Nothing 于 2007-8-3 14:02 发表
shadowmap的先天不足就是边缘锯齿,z-fight...现在除了战争机器看起来还可以,其他的next gen游戏几乎都有这个毛病: Lair, GT4 HD等等

shadowmap的原理本来就是在光源空间(lightspace)里渲染一张深度贴图 ...
战争机器 xb360     

Lair, GT4 HD PS3

说明什么
作者: 爱你一棒陲    时间: 2007-8-3 14:16

貌似是画上去的
作者: Nothing    时间: 2007-8-3 15:06

引用:
原帖由 yiliya 于 2007-8-3 14:15 发表



战争机器 xb360     

Lair, GT4 HD PS3

说明什么
360上一些别的游戏也有这毛病,无意中举的例子是ps3上的了。shadowmap的效果完美化还需要技术进步,和平台倒是关系不大
作者: sevecol2000    时间: 2007-8-3 16:34

引用:
原帖由 Jonsoncao 于 2007-8-3 13:21 发表
代码都差不多的话,那为啥LP里面没发现过的马赛克阴影在KZ2预告片里面出现了
LP使用的是PSSM/CSM+LiSPSM,KZ2不知道是单独的Lispsm还是也分了块
作者: RacingPHT    时间: 2007-8-3 16:52

引用:
原帖由 Jonsoncao 于 2007-8-3 13:21 发表
代码都差不多的话,那为啥LP里面没发现过的马赛克阴影在KZ2预告片里面出现了
注意区分Sun Light和Local Light的区别,
如果你是做技术的话
作者: hourousha    时间: 2007-8-3 16:55

引用:
原帖由 sevecol2000 于 2007-8-3 16:34 发表


LP使用的是PSSM/CSM+LiSPSM,KZ2不知道是单独的Lispsm还是也分了块
说是用了
引用:
Next generation gaming brought high resolutions, very complex environments and large textures to our living rooms. With virtually every asset being inflated, it's hard to use traditional forward rendering and hope for rich, dynamic environments with extensive dynamic lighting. Deferred rendering, on the other hand, has been traditionally described as a nice technique for rendering of scenes with many dynamic lights, that unfortunately suffers from fill-rate problems and lack of anti-aliasing and very few games that use it were published.

In this talk, we will discuss our approach to face this challenge and how we designed a deferred rendering engine that uses multi-sampled anti-aliasing (MSAA). We will give in-depth description of each individual stage of our real-time rendering pipeline and the main ingredients of our lighting, post-processing and data management. We'll show how we utilize PS3's SPUs for fast rendering of a large set of primitives, parallel processing of geometry and computation of indirect lighting. We will also describe our optimizations of the lighting and our parallel split (cascaded) shadow map algorithm for faster and stable MSAA output.

Take Away
The session will provide detailed overview and optimizations of modern rendering engine and parallel processing. Many of the topics are applicable for various gaming platforms.
http://www.develop-conference.co ... /all_sessions.shtml
作者: sevecol2000    时间: 2007-8-3 16:56

引用:
原帖由 hourousha 于 2007-8-3 16:55 发表

说是用了

http://www.develop-conference.co ... /all_sessions.shtml
哦,也是PSSM/CSM+Lispsm啊.
作者: RacingPHT    时间: 2007-8-3 16:57

应该的
LiSPSM只是辅助, worst case只有CSM能处理。
作者: 狗娃    时间: 2007-8-3 17:01

等游戏一出,再看对比~~~~~~~~
作者: sevecol2000    时间: 2007-8-3 17:01

看来在XO和PS3上PSSM/CSM+Lispsm成标配咯~~
作者: handsomeken    时间: 2007-8-3 17:13

话说这英文是日本人写的吗……




欢迎光临 TGFC Lifestyle (http://club.tgfcer.com/) Powered by Discuz! 6.0.0