作者hegemon (hegemon)
看板PlayStation
标题Re: [情报] DigitalFoundry的Killzone3技术分析文章
时间Sun Feb 20 19:20:37 2011
这边有点问题.
还是那句老话. Deferred Lighting != Deferred Shading
Killzone2, 3用的是Deferred Shading没错.
而GTA4,Crysis2这些都是用Deferred Lighting.
两边比较的话.可以从执行的步骤看出来.
Deferred Shading 包含两步骤 : Deferred Lighting包含三步骤 :
1.变数相关步骤 1.变数相关步骤
a. 读进材质色彩纹理 a. 读进材质法线图
b. 读进材质法线图 b. 写入景深
c. 写入景深 c. 写入表面法向量及镜面指数
d. 写入表面法向量及镜面指数 2.Deferred:
(镜面指数会影响光影在图形表面上的size) a. 读进1中所有变数
e. 写入漫射率 b. 算出分光辐射
f. 写入镜面反射率 c. 算出漫射辐射
g. 写入自发光 3.Shading
2.Deferred a. 读进材质色彩纹理
a. 读进1中的所有变数 b. 读进2中的分光辐射与漫射
b. shading 辐射结果
c. shading
由上面比较可以知道,Defered Lighting事实上只有在算光影的部分有做到Deferred.
而Deferred Shading则是从头算到尾. 也可以发现到Defered Shading基本上是比较
吃资源的.不管是计算资源或是记忆体资源.
(Deferred Shading每个pixel需要20bytes, 在原生720P的情况下每个frame
需要20x1280x720 = 17~18M, 相较之下Deferred Lighting则只需要8bytes/pixel
而Killzone2当时制作单位说一个frame用到了30M.应该有加了些东西)
所以跨平台游戏由於360的限制,大多采用Defered Lighting.
这不是我自己作梦梦到的..Crytek自己在投影片里面写的.
http://www.incrysis.com/index.php?option=com_content&task=view&id=797
里面有一页提到:
"与Deferred Shading比较:
来自频宽与记忆体的问题较少 (10MB EDRAM XBOX360)
在Shading时有较高的弹性 (Phong Shading除外)"
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.1.18
1F:推 jason523:太专业了 看不懂@@ 02/20 19:30
2F:→ hegemon:看不懂的话..只要记得表格以下的文字就好了... 02/20 19:36
※ 编辑: hegemon 来自: 220.133.1.18 (02/20 19:53)
3F:推 a1234957:恩.... 看不懂 02/20 20:49
4F:→ a1234957:哪一种看起来比较真实? 02/20 20:49
5F:→ hegemon:Deferred Shading 02/20 21:07
6F:→ a1234957:感谢 02/20 21:09