回复主题: beyond3d 踢爆 GT5p 的 1080p 是假的!(由踢爆 Halo3 為 640p 的人證實)
作者:RacingPHT

原帖由 FXCarl 于 2007-10-22 12:47 发表
这样讨论才有意思
1.MSAA的算法的确可能是暴力的,但是貌似NV的人说不是暴力的。

MSAA的方式是从周围像素取色彩混合(CSAA还会做加权)在一个多边形内部,光栅化没有疑义的时候,就没有做AA必要,否则会模糊画面。
2. 这个问题很微妙了,MSAA和HDR本身不会存在冲突,这个从理论上来说就是成立的。因为HDR不过是个概念,时髦的实现是用RGBE格式ToneMapping得到最终结果。这个地方我承认我前面就说错了……

3.加速度图……这个东西我说的很模糊,实际上有些地方不翻书想不起来,按照大致原理随便说的,开销是差不多的。具体的模样可以查看KillZone2的PPT,算法Capcom的DX10 LP 的相关PPT里似乎说过。

4.想让计算有意义其实不难,但是数字会更恐怖的。DepthPass可以用MRT,不需要额外顶点计算。Shadow算法貌似是ShadowMap,要把所有多边形都要变换到灯的视空间去,翻一倍开销。
最后计算一下优化问题,目前的裁剪算法都是针对场景,对车辆这种东西都没有什么用……而且前提还是裁剪是在CPU做。别说用GPU的遮挡查询,要是那样,不还是要GPU把顶点操作一遍?
所以我也提到了,优化的话,貌似也只有LOD一条路,稍微远点就把车内全部删除掉。可要是这样说的话,全车全20W面不也是空话了么。

在数学里,推翻一个定理的做法只需要一个反例。我只要可以提出一种情况超过了RSX的处理能力,是不是应该就可以证明不可能有 20W面16车 同屏了呢?

16BitNormalMap的用处请查阅ATi的Carpaint技术文献,法线图只是法线扰动。不仅可以制造细节,也可以平滑表面,不同用法而已。因为车辆表面可能是高次曲面,直接用法线线性平滑产生的表面是肯定体积走样的,需要用法线图来纠正。如果用一般每轴 8bit 整数的法线,还外加压缩,最小法线偏角接近1度……是不能满足高光滑度表面的需要的……我没有做过亲身实验(等用空补上),但是我觉得ATi的说法是有道理的。


1: 概念错误了, MSAA不能取临近像素的颜色值, 而是取像素内部的Samples.
2: RGBE? 不是很实用。
3: 动态模糊有很多种, FrameBuffer based, Camera Based, Object Based, 开销由小到大, 这个扯起来就多了。
4: Depth pass用MRT是没有任何意义的。 只有用额外的pass, 才能利用EarlyZ以及Hi-z。并且, 遮挡查询没有你想象的那么费。
5: LOD不是可选项, 而是必选项。现代的GPU结构决定了这一点。全车20W面我觉得不奇怪。当他说"车辆建模20W"的时候, 不代表这辆车就是永远使用20W的模型来渲染。因为那样的话只能说程序员实在是太耿直了, 耿直到可能饭碗都保不住。
6: ATI现在推荐的是4bit/texel的normal格式(3DC). 16bit的normal只有nVidia在GF3的时代提到过一种Hilo的16bit格式, 现在已经废弃了。你忽视了一个问题, 因为GT的车子都太光滑了, 所以如果他们程序员没有使用normal map, 我不但不奇怪, 还认同他们的选择。程序员不是堆砌数据的机器, 而是要做出最优的工程选择。



[登录后才可回复]