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