» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[业评] 那个啥,上次那位说星际争霸2的引擎不支持多光源动态阴影的同学呢……

对动态光源产生的阴影问题,我提过。不知道LZ指的是不是我XD
原话在此。
http://club.tgfc.com/viewthread. ... c%3DDESC&page=3
引用:
SC2的动态光源还是够多的,毕竟用延迟渲染主要就是为了这事。比如采矿农民产生的光源会影响周围的地形建筑和单位。
不过呢,光源是够多,明暗是做成了,但是阴影没跟上,不管附近几个强动态光源照,身后还只是一个全局光的阴影,这就让整体的光源效果大打折扣了。
这让我想起若干年前的地下城守护者1和2来了,当初的1代就有动态的阴影了(鼠标光源与墙壁上的灯都是产生阴影的动态光源),二代一个单位能同时有多少个影子来着,6个还是8个,记不清了。当然不是说DK1比SC2先进,只是说明人家当时考虑问题和解决问题比较合理全面。
母舰旋转的光柱照到小兵产生的阴影在哪啊?好像没看到哇。
于是乎LZ贴图来是要来证明我的话么?


TOP

引用:
原帖由 boostloki 于 2010-4-30 12:35 发表
我记得几年前 暴雪在sig的course上有一篇文章,讲到了里面的deferred renderin,
里面说,deferred renderin只用在渲染一些粒子、爆炸效果上。

想知道真相很简单,n卡上拿perfhud 打开sc2,一切都看得很清楚。
那course现在在ATI(AMD)的网站上也能下载到。
http://developer.amd.com/gpu_ass ... ton-StarCraftII.pdf
很显然,粒子效果和爆炸效果是典型的不适合deferred shading的东西————因为它们需要blending与overdraw。



TOP

引用:
原帖由 nerfwarlock 于 2010-4-30 13:08 发表
我想请问00:09和00:21母舰光柱下投射的阴影是怎样形成的
这个如果让我来实现,大概就是一个project texture了事吧,那样最简单。通过G-Buffer的Z值与屏幕空间坐标可重建出每像素的世界空间坐标,再做一次投影变换就OK了。DF的光照优化同样可以派上用场——做个包住母舰的类似spotlight的Cage mesh来做像素筛选就成了。
复杂一些的方法可以参考地形上的道路或弹坑污迹等动态元素的渲染方法,往往需要单独构建一mesh,不过这种方法有局限,比如要投在除地形外的其他物体上,就比较麻烦。所以我还是倾向于前一种方法。

[ 本帖最后由 hourousha 于 2010-4-30 14:42 编辑 ]


TOP

发新话题
     
官方公众号及微博