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


发新话题
打印

[官方活动] [Pica200]除去分辨率,这个应该是将来3DS的极限机能表现吧?

引用:
原帖由 大头木 于 2011-5-2 06:04 发表
posted by wap, platform: SAMSUNG (I9000)
sh3那个且不谈自投影这种高级特效
连软阴影都是取巧贴图,只能表现最简单的一层映射关系,而且光源只能用一个,取巧的软模拟。要是神机2支持真正的硬光源,哪怕只有一个 ...
就我所知,目前实作化的Real time 3D中所有软阴影实现都无法和贴图去掉联系。不知道你指的是什么
至于硬光源,是不是指的是GC那种固定管线光源?那我想说,PS2、XBOX、XBOX360、PS3都是‘非硬光源’因为它们都要靠程序代码实现光照公式,无非就是PS2靠VU,XBOX、XBOX360、PS3主要靠shader(当然也可以靠CPU)


TOP

这也叫自投影?

把手臂和身体分别做成各自的实体然后模拟软阴影来实现。

自投影是同一个物体多边形之间光源投射产生的自身阴影变化,让物体有立体感,所以也叫体积投影呢,比如脸部凸出来的部分,光源照上去会影响凹下去的部分,就如同顶楼的打开关闭自投影shiva脸上阴影变化的对比



TOP

引用:
原帖由 rinlord 于 2011-5-2 13:35 发表
这也叫自投影?
把手臂和身体分别做成各自的实体然后模拟软阴影来实现。
自投影是同一个物体多边形之间光源投射产生的自身阴影变化,让物体有立体感,所以也叫体积投影呢,比如脸部凸出来的部分,光源照上去会 ...
建议你去查查shadow volume的定义。这个之所以叫shadow volume不是因为什么‘让物体有立体感’,而是它要通过多边形与光源投射方向的边缘生成一个‘阴影体’然后通过和z-buffer的test pass(fail)次数决定像素是否位于阴影之内。地摊定义信不得啊。还有你说的模拟软阴影是啥?
自投影的定义即为一个mesh同时作为shadow caster也作为shadow receiver。所以如果把一个人物当作一个entity的话说,那个算是自投影是没什么问题的。当然如果把胳膊和身体分离渲染,也不是不可以实现,就好像我只要把鼻子耳朵等从脸上分出来渲染,即使不使用统一阴影解决方案也可以在脸上渲出鼻子耳朵的阴影,按你的理论这也不算自投影了?这东西说到底是看效果说话罢了。
顺便一提,就目前的硬件,作为shadow caster的物体,往往是使用简模来进行以减少消耗,所以即使用了统一阴影解决方案,也不见得会出现诸如脸上凹凸部分产生的投影或者质量很差(尤其使用shadow map的情形,马赛克或错误常见),这部分阴影目前主要是靠SSAO来模拟。或者干脆直接画出来。

[ 本帖最后由 hourousha 于 2011-5-2 15:12 编辑 ]


TOP

posted by wap, platform: SAMSUNG (I9000)

你能确定sh3里手和身体是同一个mesh?

TOP

引用:
原帖由 大头木 于 2011-5-2 15:11 发表
posted by wap, platform: SAMSUNG (I9000)
你能确定sh3里手和身体是同一个mesh?
mesh应该是一个,不过subset不一定是一个。渲染不一定是一次性,这都是未知的。不过你这个疑问放到任何一个游戏上都成立。除了内部开发人员外都无法准确回答。
所以这东西就是看效果的事,手和身体是一个逻辑上关联体它既可以对环境产生阴影,自身也会有动态的阴影存在——这就是结果。你说这是使用奇技淫巧实现那也没什么,反正效果是有了。
而且PS2确实可以使用shadow volume已被证实,那么能使用shadow volume产生自投影也没什么可值得怀疑的。我不知道你这种过度反应所谓何在?

TOP

为什么pica200为什么要搞个打开和关闭自投影特效,这值得什么大书特书么?

你的意思是所谓的自投影和两个不同mesh实现的方式是一样的咯?

为什么我看到的shader里面不是这么写的呢?

TOP

自mesh和不同object实现投影的shader代码我看过完全就是两码事

3ds的虽然是固定管线,但是能和ps2那个所谓的自投影是一回事么

别扯什么投影的基本原理了,没意义

TOP

引用:
原帖由 rinlord 于 2011-5-2 15:31 发表
为什么pica200为什么要搞个打开和关闭自投影特效,这值得什么大书特书么?
你的意思是所谓的自投影和两个不同mesh实现的方式是一样的咯?
为什么我看到的shader里面不是这么写的呢?
很简单,打开和关闭自投影消耗不一样呗。就好像本世代的game,shadow caster也不是所有物体,一定距离以外的物体还就不是了,而shadow receiver就更会限制了,还不是照顾性能。至于是否值得大书特书,问我就问错了人,我倒是觉得这功能没什么可大书特书的,2000年游戏(黑暗之刃)就实现的功能嘛。
我何时说自投影和两个不同mesh的实现方式一样了?请注意理解能力。
另外关于第三点,我是不知道你的shader到了什么水平,不过就如同我前面所说,shadowmap也好,shadow volume也好,都不是产生自投影的充分因素,关键在于shadow volume与shadow map生成所包含的mesh。就shadow volume或shadow map渲染时的shader代码,有没有自投影还真是一样的。
举个例子,有物体A和物体B,如果shadow map生成时用的只有A,但所有物体都使用shadow map渲染,那么自然物体B不可能带有自投影,但无论生成shdow map的shader也好,使用shadow map渲染的shader也好,都是一样一样的。至于你从哪看到的shader,那我就不知道了。
再说一遍,自投影这东西还就只能看效果而定。从一个角度说,甚至可以说它挺接近于level design中的概念——即一个entity既有是shadow caster属性又是shadow receiver属性,至于该entity是怎么实现既是caster又是receiver的,由渲染引擎决定。

TOP

pica200的这个所谓的自投影能随便打开和关闭,和自己写的定义投影对象shader的是一回事么?我也没搞明白pica200的这个把投影当成一个特效打开是什么意思。

说基本原理的话那就没得说了,都是计算遮挡关系然后贴图上去,那还谈什么新特效,不是啥都能实现了,就是实现效果的差别
而且sh3里面那个就是一个过场,完全不能确定是不是shadow volume 还是map

前面栅栏的那个光源和遮挡体都是固定的,和3ds这个耗费的资源不可同日而语,而且也不能就完全判断那就是volume阴影,那个截图是过场还是实际游戏?

[ 本帖最后由 rinlord 于 2011-5-2 16:01 编辑 ]

TOP

引用:
原帖由 rinlord 于 2011-5-2 15:37 发表
自mesh和不同object实现投影的shader代码我看过完全就是两码事
3ds的虽然是固定管线,但是能和ps2那个所谓的自投影是一回事么
别扯什么投影的基本原理了,没意义
1:话别说太满了,见我上面说的情况。你以为不要自投影就一定要用project shadow texture呢?
2:我只是说PS2可以有shadow volume,因此实现自投影没有问题。我扯3ds的阴影了么?不过就我所知,3ds宣传的似乎是shadow map和hardware PCF。总看到有人说3ds的自投影就是shadow volume似乎有点离题。
3:您都出‘有立体感所以叫体积阴影了’还嫌我说投影原理是多嘴啊?

TOP

shader自己基本不能写,都是在用官方写好的改..........
4年没再去看过了...

TOP

posted by wap, platform: Nokia (E5)

马克一下。

TOP

引用:
原帖由 rinlord 于 2011-5-2 15:58 发表
pica200的这个所谓的自投影能随便打开和关闭,和自己写的定义投影对象shader的是一回事么?我也没搞明白pica200的这个把投影当成一个特效打开是什么意思。

说基本原理的话那就没得说了,都是计算遮挡关系然后贴图 ...
1:如果这个自投影不是APP实现,那无非就是通过API内部实现或直接硬件实现了呗,方法无非是shadow map或shadow volume二选一。不过无论shadow volume或者shadow map,都不是必须支持fragment shader的。
2:你能问出第三个问题只能证明没懂shadow map、project shadow texture、shadow volume原理而不是我说原理废话说的太多。几种阴影的实现原理,还真不是你说的这么简单。
先回答两个问题,1那个百叶窗的阴影是动态而不是固定的(你不是玩了N遍了连这个都记不清了?)因此生成过程也是每帧都经过空间变换运算的。2是过场,不过是实时的。
然后再回答我认为是shadow volume的理由,一般就消耗而言,project shadow texture消耗最低,shadow volume和shadow map消耗分情况分效果而异(普遍而言shadow volume消耗更大),shadow volume限制较多所以现在一般都用shadow map。而shadow volume和shadow map、project shadow的最大区别在于后两者和light space project是相关的,而前者只和view space project相关,因此后两者会出现perspective aliasing——和透视方向垂直的平面失真最小,但view和light并不重合因此就会出现perspectived view space中有些地方欠采样的问题(也就是诸如马赛克现象),这在脸部这种有曲线的面上表现最明显,而图中的shadow aliasing相当平均稳定,因此显然不可能是shadow map(PS2的硬件也很难做这个)或project shadow。那么只能是shadow volume了,或者您的意见是什么?
至于PS2能使用shadow volume的证据
http://game.watch.impress.co.jp/docs/20051207/3dwa.htm
http://game.watch.impress.co.jp/docs/20060911/vp2.htm

[ 本帖最后由 hourousha 于 2011-5-2 16:49 编辑 ]

TOP

TOP

引用:
原帖由 大头木 于 2011-5-2 06:04 发表
posted by wap, platform: SAMSUNG (I9000)

sh3那个且不谈自投影这种高级特效

连软阴影都是取巧贴图,只能表现最简单的一层映射关系,而且光源只能用一个,取巧的软模拟。要是神机2支持真正的硬光源,哪怕只有一个 ...
因为他没玩过PS2版

TOP

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