泡泡网显卡频道 PCPOP首页      /      显卡     /      评测    /    正文

DX10终极杀人武器!Crysis全方位测试

● 几何Shader以及Stream Out

 

    顶点着色器(Vertex Shader)和像素着色器(Pixel Shader)都允许程序操作内存中已有的数据。这种开发模型非常成功,因为它在复杂网格蒙皮和对已有像素进行精确计算方面都表现的很出色。但是,这种开发模型不允许在图像处理器上生成新数据。当一些物体在游戏中被动态的创建时(比如新型武器的外形),就需要调用CPU了。可惜现在大多数游戏已经很吃CPU了,游戏进行时动态创建庞大数量新数据的机会就变得微乎其微了。


    Shader Model 4.0中引入的几何着色器(Geometry Shader),第一次允许程序在图像处理器中创建新数据。这一革命性的事件使得GPU在系统中的角色由只可处理已有数据的处理器变成了可以以极快速度既可处理又可生成数据的处理器。在以前图形系统上无法实现的复杂算法现如今变成了现实。使用DirectX 10和Geforce 8800 GTX,类似模板阴影(Stencil Shadow)、动态立方体贴图(Dynamic Cube Map)、虚拟位移贴图(Displacement Mapping)等依靠CPU或多通道渲染(Multi-Pass Rendering)的算法效率提升了很多。

{imageTitle}
DirectX 10流水线加入了几何着色器和数据流输出(Stream Output),使GPU可以在不用CPU干涉的条件下进行反复运算。

    几何着色器被放在顶点着色器和光栅化阶段(Rasterizer)中间。所谓光栅化,就是一行一行的扫描每个三角形,把它们一个像素一个像素的绘制到画面上。几何着色器把经过顶点着色器处理过的顶点当作输入,对于每个顶点,几何着色器可以生成1024个顶点作为输出。这种生成大量数据的能力叫做数据扩大(Data Amplification)。同样的,几何着色器也可以通过输出更少的顶点来删除顶点,因此,就叫做数据缩小(Data Minimization)。这两个新特性使GPU在改变数据流方面变得异常强大。

 

1.细分的虚拟位移贴图(Displacement Mapping with Tessellation)

 

    几何着色器终于让虚拟位移贴图可以在GPU上生成了。虚拟位移贴图是在离线渲染系统中非常流行的一项技术,它可以用一个简单的模型和高度图(Height Map)渲染出非常复杂的模型。高度图是一张用来表示模型上各点高度的灰度图。渲染时,低多边形的模型会被细分成多边形更多的模型,再根据高度图上的信息,把多边形挤出,来表现细节更丰富的模型。
 因为在DirectX 9中,GPU无法生成新的数据,低多边形的模型无法被细分,所以只有小部分功能的虚拟位移贴图可以实现出来。

 

2.基于边缘(Adjacency)的新算法

 

    几何着色器可以处理三种图元:顶点、线和三角形。同样的,它也可以输出这三种图元中的任何一种,虽然每个着色器只能输出一种。在处理线和三角形时,几何着色器有取得边缘信息的能力。使用线和三角形边缘上的顶点,可以实现很多强大的算法。比如,边缘信息可以用来计算卡通渲染和真实毛发渲染的模型轮廓。

{imageTitle}
使用几何着色器的非照片模拟渲染
(Non-Photorealistic Rendering - NPR)

3.数据流输出(Stream Output)

 

    在DirectX 10之前,几何体必须在写入内存之前被光栅化并送入像素着色器(pixel shader)。DirectX 10引入了一个叫做数据流输出(Stream Output)的新特性,它允许数据从顶点着色器或几何着色器中直接被传入帧缓冲内存(Frame Buffer Memory)。这种输出可以被传回渲染流水线重新处理。当几何着色器与数据流输出结合使用时,GPU不仅可以处理新的图形算法,还可以提高一般运算和物理运算的效率。


     在生成、删除数据和数据流输出这些技术的支持下,一个完整的粒子系统就可以独立地在GPU上运行了。粒子在几何着色器中生成,在数据扩大的过程中被扩大与派生。新的粒子被数据流输出到内存,再被传回到顶点着色器制作动画。过了一段时间,它们开始逐渐消失,最后在几何着色器中被销毁。

 

4人已赞
第1页:Crysis评测全文目录第2页:2006年E3大展初露锋芒第3页:2004一鸣惊人!Crytek简介第4页:绝对黑马!空前美丽的FarCry第5页:Crytek和育碧分手!Crysis出炉第6页:打造一流的产品!Crytek拥抱EA第7页:斗气之作?育碧打造FarCry2第8页:等等等!艰难跳票历程第9页:游戏历史图片:战斗类场景第10页:游戏历史图片:主角特写第11页:游戏历史图片:士兵写真第12页:游戏历史图片:第一人称视角第13页:游戏历史图片:游戏室内室外场景第14页:游戏历史图片:雪地中的战斗第15页:单人游戏主要武器:SCAR步枪第16页:朝鲜士兵主要武器:FY71突击步枪第17页:最具可玩性:Nano作战服第18页:最值得期待的武器:分子捕捉器第19页:载具部分:朝鲜T-108坦克第20页:游戏中的载具:装甲车辆第21页:垂直起降类空中载具第22页:海陆空立体战:游戏中的舰船第23页:DirectX10架构特性及其优势第24页:Shader Model 4.0第25页:几何Shader以及Stream Out第26页:高级渲染语言(HLSL 10)第27页:其他改进和游戏效果第28页:CryEngine 2引擎特性:地图编辑器第29页:CryEngine 2引擎特性:音效、光照和阴影第30页:CryEngine 2引擎特性:集成工具第31页:Crysis画面和真实自然风光对比第32页:Crysis画面堪比现实场景第33页:Crysis画面和考艾岛对比第34页:更加清晰的老对比图第35页:虚幻3引擎时代即将结束第36页:DX10引擎更加华丽第37页:同是DX10!Crysis对比Warhound 第38页:集最新特效于一身 Crysis的DX10最成熟第39页:体积光照并非WIC专利!Crysis更精彩第40页:视差贴图不是COJ专利!Crysis更真实第41页:景深不是失落星球专利!Crysis更明显第42页:HDR+AA不是A卡专利!DX10完美支持第43页:Crysis独有高级特效:破坏场景/昼夜交替第44页:DX9顶级特效升级版:软阴影/动态模糊第45页:DX10集大成者!Crysis令人望眼欲穿第46页:Crysis并不恐怖 新老显卡全兼容第47页:Crysis四个等级画质对比(720P)第48页:CrysisDX9 vs.DX10对比(1080P)第49页:1600×1200!demo最高特效黑夜截图第50页:1600×1200!demo最高特效白昼截图第51页:CPU测试程序截图第52页:GPU测试程序截图第53页:提个醒!制作方谈游戏的配置第54页:多核不浪费!CPU性能对比测试第55页:夸张!内存使用测试第56页:23款显卡测试成绩横向对比第57页:巅峰较量!6款高端显卡对决第58页:显卡优化设置篇:8800Ultra第59页:显卡优化设置篇:8800GTX第60页:显卡优化设置篇:8800GT第61页:显卡优化设置篇:8800GTS 640MB第62页:显卡优化设置篇:8800GTS 320MB第63页:显卡优化设置篇:2900XT第64页:显卡优化设置篇:2900Pro第65页:显卡优化设置篇:7950GX2第66页:显卡优化设置篇:8600GTS第67页:显卡优化设置篇:8600GT第68页:显卡优化设置篇:2600XT第69页:显卡优化设置篇:7900GS第70页:显卡优化设置篇:X1950GT第71页:显卡优化设置篇:2600Pro第72页:显卡优化设置篇:X1650GT第73页:显卡优化设置篇:7300GT第74页:老显卡慎用!专用优化驱动实测第75页:全文总结:PC游戏的明天

关注我们

泡泡网

手机扫码关注