主流显卡排名大洗牌3DMark06横向测试
- Dynamic Shadows(动态阴影技术):
从01开始,3DMark开发小组开始将动态阴影加入到渲染引擎当中,01所采用的就是一种叫projection shadow的贴图实现动态光影的生成,但这种方法有一定的局限性,比如不会计算投射面的深度以及层面。3DMark03开始使用基于Shader的stencil shadows(模板阴影),有点类似Doom3中所用到的体积阴影。这种使用阴影锥的计算方法在生成阴影锥的时候会导致大量的额外多边形生成量,而不管物体是否处在阴影内,是否可见。
因此,3DMark05采用了一种更为弹性的处理方法:perspective shadow maps(可理解为透视阴影贴图),是depth shadow maps(深度阴影贴图)中的一个分支。在这种贴图技术中,场景会从灯管的法向量方向测量物体相对于光源的法向量正向深度距离,用以测定计算场景中的物体是否落在阴影中,若产生阴影,则位于阴影内的物体不会被任何光源所照亮。3DMark05的场景中,对方向性光源采用了2048×2048 R32F格式的depth map ,如果硬件支持深度模板材质的话,3场景将会使用同样大小的D24X8 depth map 。原则上,这个2048×2048 的depth map 将会被使用两次,第一次会渲染在近镜头处物体的深度 ,另外一次会渲染余下的场景。3DMark05中的点光源采用了512x512x6 的立方贴图用作R32F 格式的深度贴图。
在3DMark06当中,将动态阴影技术提高到了一个新的层次。使用了一种叫做CSM(Cascaded Shadow Maps,层叠阴影贴图)的深度阴影贴图技术,这是一种对全屏范围内所有物体进行独立高质量渲染的全新技术。这种方法通过把Z轴分为五个部分,每个部分都采用统一的2048x2048阴影贴图。如果硬件支持深度纹理,将使用D24X8或者DF24深度贴图,如果硬件不支持,那么将用R32F单结构浮点纹理来代替。此时将禁用硬件阴影贴图,如果需要高精度渲染,而且硬件阴影贴图默认打开,那么单个缓冲将被使用五次。
点光源阴影使用了R32F格式的1024x1024x6立方体深度贴图