DirectX 11的第一次誘惑
首個(gè)DX 11技術(shù)Demo新鮮出爐
作為游戲開(kāi)發(fā)中最重要的圖形API(應(yīng)用程序接口),微軟的DirectX早已超越OpenGL(Open Graphics Library,開(kāi)放式圖形庫(kù))成為事實(shí)上的第一標(biāo)準(zhǔn),其不斷推出的新版本、不斷改進(jìn)的構(gòu)架、大量炫目的新技術(shù)也都第一時(shí)間被囊括其中,新版DirectX不僅僅是圖形API,而且是硬件和游戲發(fā)展的風(fēng)向標(biāo),每次新版本的出現(xiàn)都會(huì)暗示今后一段時(shí)間內(nèi)圖形硬件的研發(fā)方向和展示未來(lái)游戲的最高特效。
這次Windows 7操作系統(tǒng)也遵循了這一“自然規(guī)律”,新操作系統(tǒng)給我們帶來(lái)了全新的3D圖形API——DirectX 11。和小修小補(bǔ)的DirectX 10.1(Windows Vista系統(tǒng)自帶的圖形API)不同的是,新一代的DirectX 11帶來(lái)的變化是革命性的。具體來(lái)說(shuō),DirectX 11擁有五大關(guān)鍵特性,它們分別是Tessellation(鑲嵌式細(xì)分曲面技術(shù))、Multi-Threading(多線程處理)、DirectCompute(計(jì)算著色器)、Shader Model 5.0(著色處理引擎)和Texture Compression(紋理壓縮)。這些技術(shù)特性可以為用戶帶來(lái)更好的視覺(jué)享受。
盡管微軟的DirectX 11給游戲愛(ài)好者描繪了一幅美麗的圖畫,但要讓人們?yōu)橹欧得用事實(shí)說(shuō)話。在DirectX 11游戲尚未全面上市之際,相關(guān)的技術(shù)演示或測(cè)試Demo就顯得格外珍貴了。如今,名不見(jiàn)經(jīng)傳的Unigine公司搶在3D圖形性能測(cè)試軟件業(yè)“霸主”FutureMark之前,推出全球首款DirectX 11測(cè)試/演示程序Heaven,讓所有關(guān)注DirectX 11的游戲玩家為之歡呼雀躍。
作為首個(gè)DirectX 11技術(shù)演示程序,Unigine Heaven將Tessellation、DirectCompute、Shader Model 5.0等技術(shù)特性演繹得淋漓盡致。它提供了對(duì)原生DirectX 9/10/11、OpenGL的支持,利用各種物理計(jì)算為我們帶來(lái)了出色的視覺(jué)體驗(yàn),視覺(jué)效果足以用“夸張”來(lái)形容。
從Heaven這款Demo的測(cè)試情況來(lái)看,由高性能的物理計(jì)算生成的積雨云以及動(dòng)態(tài)的天空效果、陰影效果、光效果都是之前沒(méi)有體驗(yàn)過(guò)的。而對(duì)Tessellation特性的全面應(yīng)用,也讓用戶感受到DirectX 11特效的巨大魅力。看來(lái),在權(quán)威的3DMark測(cè)試軟件推出新版本之前,Heaven將是玩家進(jìn)行DirectX 11性能測(cè)試的唯一選擇。
Tessellation守得云開(kāi)見(jiàn)月明
在DirectX 11的五大關(guān)鍵特性中,Tessellation技術(shù)是一顆璀璨的明珠,它很可能成為今后DirectX 11游戲的主要技術(shù)特點(diǎn)。不過(guò),Tessellation今日的輝煌卻隱含著數(shù)代艱辛的發(fā)展。
早在2001年7月微軟就在DirectX 8.1的規(guī)范中提出了一個(gè)叫做N-Patch的技術(shù),相比之前的各種虛擬3D和位移貼圖技術(shù)而言是一種非常巧妙的技術(shù)。它能夠像位移貼圖那樣自動(dòng)創(chuàng)造頂點(diǎn),但是卻不需要高度圖來(lái)作參數(shù),使模型自動(dòng)的變得極為光滑。之后ATI 在自己的R200(Radeon 8500)中,就率先采用了N-Patch技術(shù)(ATI 稱之為TruForm)。但在實(shí)際應(yīng)用中,TruForm往往在槍支等不需要自動(dòng)曲面化的模型上自動(dòng)使用,結(jié)果畫面就相當(dāng)可笑。
正是這一問(wèn)題的存在,TruForm在DirectX 9時(shí)代便銷聲匿跡了。雖然效果不盡理想,但這一技術(shù)通過(guò)簡(jiǎn)單高效的手段,讓“低模”3D游戲看到了“變身”為高品質(zhì)模型的曙光。2005年,ATI專為XBOX360設(shè)計(jì)了圖形芯片Xenos,對(duì)后者所采用的N-Patch技術(shù)進(jìn)行了改進(jìn),并給它起了一個(gè)新名字——Tessellation。Tessellation的改進(jìn)很成功,它可以按照不同模型的要求進(jìn)行曲面細(xì)分化,而且程序員們無(wú)須手動(dòng)設(shè)計(jì)上百萬(wàn)個(gè)三角形的復(fù)雜模型,只須簡(jiǎn)單勾繪一個(gè)輪廓,剩下的就可以交給Tessellation自動(dòng)鑲嵌。
Xenos之后,2007年ATI在R600中集成了Programmable Tessellator(可編程鑲嵌器),并在之后的產(chǎn)品中一直繼承了下來(lái)。此時(shí)的Tessellation技術(shù)比XBOX360使用的又有了進(jìn)一步的改進(jìn)。在R600發(fā)布時(shí),ATI拿出了一款CG級(jí)別實(shí)時(shí)渲染的Demo,其中被積雪所覆蓋的山體就是由Tessellation生成的,其精細(xì)程度甚至超越了主角Ruby。之后,Radeon HD3000/HD4000顯卡繼續(xù)支持Tessellation。不過(guò),由于一直是ATI獨(dú)力支撐,而且DirectX沒(méi)有集成該技術(shù),使得它始終無(wú)法得到游戲廠商的青睞,那時(shí)甚至沒(méi)有一款成品游戲支持Tessellation。不過(guò)在動(dòng)畫市場(chǎng)上Tessellation倒是大受歡迎,有很多圖形公司使用它。
今天集成在DirectX 11中的Tessellation歷經(jīng)數(shù)代發(fā)展,已經(jīng)變得更加成熟、細(xì)膩、靈活、高效、實(shí)用。所以一經(jīng)推出,就得到游戲廠商積極的響應(yīng)。不過(guò),微軟并不是原封不動(dòng)地將ATI的Tessellation技術(shù)移植到DirectX 11之中,而是對(duì)它進(jìn)行了優(yōu)化,使其能與渲染流程更完美地結(jié)合在一起。