国产成人福利在线视频播放下载,成人无码www免费视频在线看,放荡的美妇在线播放,大地资源网最新更新,国产成人精品日本亚洲网站

泡泡網(wǎng)顯卡頻道 PCPOP首頁      /      顯卡     /      評測    /    正文

DirectX不是全部!3D游戲圖形技術(shù)解析

    泡泡網(wǎng)顯卡頻道2月19日 近年來3D圖形技術(shù)的發(fā)展勢頭非常迅猛,軟件方面游戲的畫面和逼真度有了長足進(jìn)步,硬件方面顯卡的更新?lián)Q代越來越頻繁。但始終存在這樣一個(gè)現(xiàn)象,無論顯卡的性能翻多少倍,游戲玩家們總感覺還是不夠強(qiáng)大,GPU龐大的運(yùn)算能力到底被誰吃掉了呢?

    答案很簡單,游戲?yàn)榱颂岣弋嬅尜|(zhì)量、更加接近于真實(shí)世界,使用了諸多先進(jìn)的圖形技術(shù),特效的“濫用”大幅提升了游戲畫面水平,但也抵消掉了GPU性能的增長。

    那么最新的圖形技術(shù)到底能給游戲帶來多少的畫面改進(jìn),對于顯卡的需求會有多夸張呢?今天筆者就將主流游戲中使用最廣泛的技術(shù)提取出來,對其原理和需求進(jìn)行詳細(xì)的分析,以饗讀者。

    其實(shí)很多非常先進(jìn)的游戲高級圖形技術(shù)都包括在了新版本的DirectX API當(dāng)中,或者說是通過DirectX中的Shader Model新指令集來實(shí)現(xiàn)。但這些東西并不容易理解,也不夠直觀,所以本文反其道而行之,通過肉眼可以看得出來的差別來分析DirectX版本更新對于圖形技術(shù)的改進(jìn)到底有多大?

● 游戲中為什么需要模糊處理?清晰一點(diǎn)不是更好嗎?

    首先請大家思考一個(gè)問題:為什么每秒24幀的速度對于電影來說已經(jīng)足以獲得很流暢的視覺效果,而對于游戲來說卻會顯得磕磕碰碰呢?

    原因很簡單,攝像機(jī)在工作的時(shí)候并非一幀一幀絕對靜止的拍攝,它所攝下的每一幀圖像已經(jīng)包含了1/24秒以內(nèi)的所有視覺信息,包括物體在這1/24秒內(nèi)的位移。如果在看電影的時(shí)候按下暫停鍵,我們所得到的并不是一幅清晰的靜止畫面,而是一張模糊的圖像,問題就出在這里!

    傳統(tǒng)的電腦3D圖像做不到這一點(diǎn),游戲里的每一幀就是一幅靜止畫面,如果你在運(yùn)動(dòng)的過程中截一張圖片下來,得到的肯定是一幅清晰的靜態(tài)圖。


很多游戲中都有運(yùn)動(dòng)模糊的選項(xiàng)

    所以,運(yùn)動(dòng)模糊技術(shù)的目的有二:一是增強(qiáng)快速移動(dòng)場景的真實(shí)感,二是在FPS并不高的時(shí)候讓游戲顯得不是很卡。運(yùn)動(dòng)模糊技術(shù)并不是在兩幀之間插入更多的位移信息,而是將當(dāng)前幀同前一幀混合在一起所獲得的一種效果。

● 基于DX10技術(shù)的運(yùn)動(dòng)模糊更真實(shí)

    之前已經(jīng)有很多DX9游戲采用了運(yùn)動(dòng)模糊技術(shù),效果最顯著、最夸張的非《優(yōu)品飛車》系列莫屬,很多玩家表示不太適應(yīng)這種效果,原因就在于打開特效之后畫面模糊的太夸張了,時(shí)間一長容易頭暈——顯然,這不是我們想要的運(yùn)動(dòng)模糊!

    傳統(tǒng)的運(yùn)動(dòng)模糊技術(shù),游戲只是簡單虛化了環(huán)境,而對高速運(yùn)動(dòng)的物體則僅僅保留運(yùn)行軌跡而已,這樣的前景和背景融合在一起自然效果很差,完全就是拖影和殘影,影響視覺體驗(yàn)。

    而在DX10模式下,有了全新的幾何著色技術(shù),這樣就可以使用流處理器資源來計(jì)算運(yùn)動(dòng)物體的幾何坐標(biāo)變換,然后配合高精度的頂點(diǎn)紋理拾取技術(shù),達(dá)到了完美監(jiān)控整個(gè)運(yùn)動(dòng)過程的目的。如此一來進(jìn)行模糊處理的話,就杜絕了不分青紅皂白的現(xiàn)象——該模糊的依然模糊,該清晰的照樣清晰!

代表游戲:《失落星球》、《孤島危機(jī)》、《戰(zhàn)爭機(jī)器》、《生化危機(jī)5》

● 為什么要加入景深——模擬鏡頭和人眼的視覺效果

    使用單反數(shù)碼相機(jī)拍照的朋友應(yīng)該知道,大光圈鏡頭所帶來的背景虛化效果非常好,能夠凸出人物和景物,主次分明。其實(shí)人眼在注意觀察物體時(shí),也會將焦距拉近,主體清晰可見但遠(yuǎn)景一片模糊,這就是通常所說的景深效果。


大多數(shù)游戲都有景深選項(xiàng)

    3D游戲?yàn)榱四M真實(shí),更接近鏡頭/人眼的成像原理,也將景深引入渲染過程之中。由于3D游戲只是將圖像投影在了平面的顯示器上,不會有深度,因此想要實(shí)現(xiàn)景深效果必須在圖像輸出之前就進(jìn)行預(yù)處理,把游戲主角以外的遠(yuǎn)景全部虛化。

● DX10帶來更好的景深處理

    DX9時(shí)代,是通過投機(jī)取巧的方式來實(shí)現(xiàn)景深效果的,它自動(dòng)判定距離,將遠(yuǎn)處景物的紋理、陰影、光照等特效全面縮水,然后再輔以模糊處理,而只對近景做正常渲染輸出,這樣就會讓玩家注意到主角而忽視遠(yuǎn)景。

    而DX10則沒有任何的偷工減料,它通過幾何著色器,將深度帖圖中的紋理信息按照距離拆分到緩沖,然后分為幾個(gè)不同的視角進(jìn)行渲染,最后合成完整的圖像。因此最終實(shí)現(xiàn)的景深效果在特效方面不會有任何縮水,遠(yuǎn)景完全符合正常的虛化模式,如果仔細(xì)觀察的話,光影等細(xì)節(jié)依然得到保留。

● DX11帶來更快的景深處理

    DX10的景深處理能夠?qū)崿F(xiàn)近乎完美的景深效果,但通過不同視覺渲染的方法還是不夠靈活,而且會大大增加GPU后端處理(光柵單元)的負(fù)擔(dān),產(chǎn)生負(fù)載不均的情況,導(dǎo)致性能損失較大。

    而DX11則通過DirectCompute中新增的Gather4數(shù)據(jù)采集指令,使得計(jì)算著色器能夠以四倍的紋理采集速度,幫助減少GPU紋理單元和光柵單元的負(fù)擔(dān),從而在進(jìn)行景深處理時(shí)消除了瓶頸,提升渲染效率。

● 代表游戲:《古墓麗影》、《失落星球》、《孤島危機(jī)》、《潛行者》、《戰(zhàn)爭機(jī)器》

● 光柵化渲染的極限——環(huán)境光遮蔽

    在GPU和CPU有能力進(jìn)行實(shí)時(shí)光線追蹤(Ray Tracing,按照真實(shí)世界光線投射原理反向渲染的技術(shù))之前,環(huán)境光遮蔽是當(dāng)今光柵化渲染模式中最好、最高效的替代方案。環(huán)境光遮蔽通過計(jì)算光線在物體上的折射、衍射、散射和吸收,在受影響位置上渲染出適當(dāng)?shù)年幱?,進(jìn)一步豐富標(biāo)準(zhǔn)光照渲染器的效果。


一些游戲支持多種環(huán)境光遮蔽模式

    屏幕空間環(huán)境光遮蔽(Screen Space Ambient Occlusion,SSAO)是AO的一個(gè)變種,它通過對屏幕內(nèi)進(jìn)行簡單的空間劃分,然后進(jìn)行計(jì)算。SSAO的工作原理是:通過采樣象素周圍的信息,進(jìn)行簡單的深度值對比來計(jì)算物體身上環(huán)境光照無法到達(dá)的范圍,從而可以近似地表現(xiàn)出物體身上在環(huán)境光照下產(chǎn)生的輪廓陰影。雖然只是模擬實(shí)現(xiàn),但確實(shí)能增強(qiáng)場景的層次感,讓畫面更細(xì)膩,讓場景細(xì)節(jié)更加明顯。

DX10.1大大提升SSAO效率

    SSAO可以利用“逐象素場景深度計(jì)算”技術(shù)計(jì)算得出的深度值直接參與運(yùn)算,也可以利用DX10.1當(dāng)中的Gather4函數(shù)實(shí)現(xiàn)更快速紋理采樣及過濾。DX10模式下開啟SSAO性能損失非常大,因此SSAO技術(shù)多出現(xiàn)在DX10.1游戲中。通過實(shí)際測試來看,DX10.1顯卡在DX10.1模式下(如果該游戲支持的話)的性能相比DX10會提升20%-30%之多,從而使得SSAO成為真正實(shí)用的技術(shù),而不再是花瓶。

DX11帶來更高清晰度的HDAO

    在DX11中,SSAO被進(jìn)一步升級至HDAO(高清晰),因?yàn)镈X11中的Gather4函數(shù)更加強(qiáng)大,它可針對特定的顏色分別采樣,能自動(dòng)識別能做陰影映射的值,從而實(shí)現(xiàn)更快更好的陰影過濾。HDAO和SSAO都能向下兼容舊硬件,但運(yùn)行速度會打折扣。換句話說,DX11和DX10.1是在改進(jìn)算法、優(yōu)化性能的基礎(chǔ)上,使得顯卡有能力渲染出更復(fù)雜、更完美的特效,而DX10雖然在也能達(dá)到同樣的畫面效果,但速度會很慢,實(shí)用性不大。

代表游戲:《孤島危機(jī)》、《潛行者》、《火爆狂飆》、《鷹擊長空》、《帝國:全面戰(zhàn)爭》、《塵埃2》

媲美電影CG畫質(zhì)——鑲嵌式細(xì)分曲面技術(shù)

    游戲和電影CG動(dòng)畫,其實(shí)都是由計(jì)算機(jī)渲染出來的,那為什么畫質(zhì)差別那么大呢?這是因?yàn)镃G動(dòng)畫的模型要比3D游戲復(fù)雜成千上萬倍,所以CG也要成千上萬倍與電腦的性能才能渲染出來,而且還無法實(shí)現(xiàn)實(shí)時(shí)渲染。

    3D游戲考慮到家用電腦的機(jī)能,模型不可能設(shè)計(jì)得太復(fù)雜,否則就不具備可玩性。但為了讓游戲變得更加逼真、達(dá)到更高畫質(zhì),太簡單的模型的確拿不出手,那么有什么方法既能大幅提升模型復(fù)雜度、又不至于給顯卡造成太大負(fù)擔(dān)呢?Tessellation技術(shù)就是為此而生的。

    簡單來說,Tessellation是一種能夠在圖形芯片內(nèi)部自動(dòng)創(chuàng)造頂點(diǎn),使模型細(xì)化,從而獲得更好畫面效果的技術(shù)。Tessellation能自動(dòng)創(chuàng)造出數(shù)百倍與原始模型的頂點(diǎn),這些不是虛擬的頂點(diǎn),而是實(shí)實(shí)在在的頂點(diǎn),效果是等同于建模的時(shí)候直接設(shè)計(jì)出來的。


實(shí)現(xiàn)相同的模型細(xì)節(jié),Tessellation顯然比直接建模更快更高效

    除了大幅提升模型細(xì)節(jié)和畫質(zhì)外,Tessellation最吸引程序員的地方就是:他們無需手動(dòng)設(shè)計(jì)上百萬個(gè)三角形的復(fù)雜模型,只需簡單勾繪一個(gè)輪廓,剩下的就可以交給Tessellation技術(shù)自動(dòng)鑲嵌,大大提高開發(fā)效率;而且簡單的模型在GPU處理時(shí)也能大幅節(jié)約顯存開銷,同時(shí)大幅提升渲染速度!

Tessellation的妙用

    Tessellation技術(shù)的原理很簡單,就是把簡單的模型智能的鑲嵌成為復(fù)雜模型,使得游戲中的景物變得更加細(xì)膩真實(shí)。實(shí)際上除此之外Tessellation還能實(shí)現(xiàn)一些令人意想不到的功效:

    DX11代表作《DiRT2》就大量使用了Tessellation技術(shù),它用Tessellation構(gòu)建了動(dòng)態(tài)水面、動(dòng)態(tài)布料旗幟和觀眾人物模型,其中加強(qiáng)人物模型不難理解,而動(dòng)態(tài)水面和布料效果足以媲美物理加速,讓人驚訝不已!

    Tessellation(細(xì)分曲面)水面效果對比


DX11模式


DX9模式

    Tessellation(細(xì)分曲面)布料效果對比


DX11


DX9

    雖然XBOX360和ATI的全線DX10顯卡都支持Tessellation技術(shù),但支持Tessellation游戲并不多,隨著DX11將Tessellation作為一項(xiàng)重要技術(shù)納入API規(guī)范之后,未來DX11游戲都將會支持這一技術(shù),但由于DX11中的Tessellation和DX10/DX9版本有很大的區(qū)別,因此并不會向下兼容,Tessellation只能通過DX11顯卡在DX11游戲中才能實(shí)現(xiàn)。

代表游戲:《潛行者:普里皮亞季的呼喚》、《科林麥克雷:塵埃2》、《異形大戰(zhàn)鐵血戰(zhàn)士》(即將發(fā)布)

● 動(dòng)態(tài)逼真——物理效果的實(shí)現(xiàn)

    3D游戲中“物理”指的是什么呢?簡言之就是模擬真實(shí)世界中的物理定律,使得運(yùn)動(dòng)物體產(chǎn)生一些復(fù)雜的交互性干涉,從而改變形狀、軌跡或狀態(tài)的一種技術(shù)。比如:流體(水、煙、霧)、碰撞、變形、爆炸、毀壞、布料、碎片……物理技術(shù)雖然屬于圖形技術(shù)的一種,但所涉及到的運(yùn)算并非是圖形渲染,而是大量的并行計(jì)算,等結(jié)果算出來之后才會進(jìn)行后續(xù)的渲染操作。

ATI演示GPU物理加速 X19XT=物理卡×9
3D游戲中一些典型的物理應(yīng)用

    這里為什么要強(qiáng)調(diào)GPU物理加速呢,因?yàn)镃PU物理加速其實(shí)早就進(jìn)入實(shí)際應(yīng)用階段,但由于CPU性能有限(或者說CPU并不擅長做物理運(yùn)算),大多數(shù)游戲僅采用了少許簡單的物理效果作為點(diǎn)綴,未能給玩家?guī)硪曈X上的震撼力,也就容易被大家所忽視。比如《半條命2》系列游戲都使用了物理技術(shù),在擊穿木板或爆炸時(shí)會有一定的破壞效果,但如果不特別指出的話您可能注意不到。


Crysis爆炸時(shí)的物理效果不錯(cuò)(CPU加速),但在場景毀壞與交互方面略有不足

物理引擎并不是只有PhysX一種,但只有PhysX支持GPU加速

    除了CPU外,還有專用的PPU(即物理加速卡)來進(jìn)行物理運(yùn)算,但隨著GPU進(jìn)入DX10時(shí)代,并行架構(gòu)的流處理器擁有比PPU和CPU更強(qiáng)大的浮點(diǎn)運(yùn)算能力,GPU物理加速技術(shù)被提上日程。終于,在NVIDIA收購Ageia公司之后,通過CUDA技術(shù)將PhysX物理引擎重新編譯了一遍,使得GeForce 8以上的N卡都能夠支持物理運(yùn)算,通過大量的測試來看,即便是低端N卡的物理加速能力也要比專用的物理加速卡強(qiáng),CPU跟它根本不是一個(gè)級別。

    就拿最近比較熱門的《蝙蝠俠:阿卡姆瘋?cè)嗽骸愤@款游戲來說,是否開啟PhysX有著天壤之別,PhysX能夠讓蝙蝠俠的披風(fēng)更拉風(fēng)、地洞中的霧氣在人經(jīng)過時(shí)產(chǎn)生互動(dòng)、地面上的碎片和紙屑在打斗過程中飛舞、地板磚桌椅墻壁都有可能被打碎、布料和旗幟隨風(fēng)而動(dòng)……

    物理引擎也不是只有PhysX一種,已經(jīng)被Intel收購的Havok也提供了很不錯(cuò)的物理解決方案,但目前支持GPU加速的還只有PhysX這一種,由于GPU擁有很強(qiáng)的運(yùn)算能力,因此PhysX引擎所實(shí)現(xiàn)的物理效果最為出色,但對顯卡的要求也很高。

    開啟PhysX之后是十分消耗資源的,GTS250以下級別的顯卡性能損失特別大,最好是能安裝一塊額外的顯卡做專門的物理加速運(yùn)算,而GTX260+以上級別的顯卡則可以同時(shí)處理圖形渲染和物理加速運(yùn)算,能夠保證不低于30幀的速度。至于A卡則不支持PhysX加速,強(qiáng)行開啟的話只能使用CPU進(jìn)行運(yùn)算,效率自然非常低下,不過使用A卡做渲染N卡做物理加速也是個(gè)臨時(shí)解決方案。

● 代表游戲:《虛幻競技場3》、《鏡之邊緣》、《雪域危機(jī)》、《蝙蝠俠:阿卡姆瘋?cè)嗽骸?

● 大名鼎鼎的HDR技術(shù)再次縮水

    HDR(High Dynamic Range,高動(dòng)態(tài)范圍光照)技術(shù)相信很多人并不陌生,想當(dāng)年DX9C SM3.0面世時(shí),正是憑借HDR技術(shù)一舉成名,HDR所帶來的絢麗光影效果給玩家極強(qiáng)的視覺震撼,但卻產(chǎn)生了很多負(fù)面效果,這些歷史遺留問題時(shí)至今日都沒有得到完美解決。

    幾乎所有的圖形技術(shù)都是隨著時(shí)間的推移來進(jìn)一步增強(qiáng)效果,只有HDR被一而再再而三的“縮水”,這是為什么呢?

● DX9C時(shí)代HDR與AA水火不容

    HDR技術(shù)通過采用浮點(diǎn)格式的顏色代碼來為紋理、光照等計(jì)算提供極大的精度和顏色范圍(以前的紋理一般都是采用整數(shù)型的顏色格式)。盡管最后顯示到屏幕上還是每個(gè)顏色通道8位的整數(shù)格式,但是以前的材質(zhì)、光照計(jì)算中紋理也是用每通道8位的格式來參與計(jì)算,所以在顯示到畫面之前,很多細(xì)節(jié)就在低精度的運(yùn)算中丟失了。

    HDR效果雖然很美,但在DX9C模式下進(jìn)行16位浮點(diǎn)(FP16)運(yùn)算時(shí),會占用到原本屬于多重采樣抗鋸齒(MSAA)的緩沖區(qū)域,使得游戲開啟HDR后無法進(jìn)行FSAA處理。當(dāng)年的一大批DX9C游戲都是如此,比如《孤島驚魂》、《細(xì)胞分裂》、《虛幻3》引擎的全系列游戲。

● ATI X1000和XBOX360是個(gè)例外

    ATI的DX9C顯卡發(fā)布較晚,因此在設(shè)計(jì)之初就考慮到了HDR+AA的需要,整合了額外的緩存,只要通過游戲或者驅(qū)動(dòng)重新指定另外的緩沖區(qū),就能完美支持HDR+AA效果,所以X1000系列和XBOX360主機(jī)都能支持HDR+AA。

    不過ATI的HDR+AA方案并不是業(yè)界標(biāo)準(zhǔn),還是有不少游戲無法同時(shí)開啟HDR和AA,通過驅(qū)動(dòng)強(qiáng)行更改緩沖區(qū)的方式和一些游戲有兼容性問題,ATI官方都不認(rèn)可這種做法。

● DX10時(shí)代,新增兩種HDR顏色格式

    為了解決困擾業(yè)界已久的HDR+AA問題,微軟在DX10當(dāng)中加入了兩種新的HDR格式,對每個(gè)顏色通道16位浮點(diǎn)數(shù)的格式進(jìn)行刪減,第一種是R11G11B10(紅色綠色各11位,藍(lán)色10位,總計(jì)32位),另一種是紅綠藍(lán)各9位共享5位指數(shù)(計(jì)算機(jī)中浮點(diǎn)數(shù)是尾數(shù)附加指數(shù)的形式來表示)。

    新增的兩種HDR格式都只有32位,而并非DX9C時(shí)代的48位(FP16x3),所以動(dòng)態(tài)范圍精度有些下降,但好處就是新的HDR不會與MSAA搶占緩沖區(qū),所消耗的顯存也大大減少,效率和兼容性提高,至于光影效果的縮水其實(shí)很難看出來。

● DX11時(shí)代,新增HDR紋理壓縮技術(shù)

    HDR除了不支持抗鋸齒外,還不支持紋理壓縮技術(shù),因?yàn)镠DR在設(shè)計(jì)之初的要求就是光照和紋理都必須保持高精度。隨著時(shí)代的發(fā)展,游戲的分辨率越來越高,紋理貼圖越來越精細(xì),而紋理貼圖如果不經(jīng)壓縮就放在顯存里面的話,容量是相當(dāng)恐怖的,因此新一代的游戲顯存消耗成倍增加,這其中罪魁禍?zhǔn)灼鋵?shí)還是HDR技術(shù)。

    為了解決這個(gè)顯存消耗大戶,在DX11當(dāng)中又新增了一種專為HDR設(shè)計(jì)的紋理壓縮格式:BC6H,壓縮比高達(dá)6:1。

    上圖展示的是圖像通過BC6H壓縮模式進(jìn)行壓縮的前后效果對比圖。其中左邊的圖像為原始圖像,中間的是在壓縮過程中損失的一些細(xì)節(jié),而右邊的就是壓縮后的圖像??梢钥闯?,從畫質(zhì)上來看幾乎沒有損失(肉眼看不出),但是卻可以大幅度降低顯存的占用。

    經(jīng)過了DX9C、DX10和DX11三代API,HDR技術(shù)在神不知鬼不覺的情況下被兩次“縮水”之后,才真正走向成熟,由此可見好的圖形技術(shù)不光是要效果出色,更重要的是擁有高效率和實(shí)用性,才能被更多的游戲所接受,被更多的顯卡所支持。

● 代表游戲:幾乎所有主流游戲都有使用HDR效果,時(shí)至今日依然有一些采用虛幻3引擎的游戲無法同時(shí)開啟HDR和AA,需要通過修改的方式實(shí)現(xiàn)

● 傳統(tǒng)紋理貼圖的弊端

    紋理貼圖大家都明白,就是往建好的3D模型上“貼”一些二維的畫面,讓人物顯得更真實(shí)一些,比如常見的磚墻、凹凸不平的地面等,這些如果全部用三角形來實(shí)現(xiàn)的話,那么模型就會非常復(fù)雜,GPU將會不堪重負(fù),但如果用“一張已經(jīng)畫好磚紋的紙”貼上去的話,那么渲染起來就會輕松好多。

    但是這么做也有很大的缺點(diǎn),貼圖畢竟是2D的,如果在游戲中換個(gè)角度看的話,很容易就會發(fā)現(xiàn)墻面沒有任何立體感,磚紋看上去非常假!為了讓2D貼圖看上去也有3D立體效果,就誕生了多種貼圖技術(shù),比如凹凸貼圖、法線貼圖、位移貼圖、視察映射貼圖等。

● 凹凸貼圖

    凹凸貼圖技術(shù)簡單說起來是一種在3D場景中模擬粗糙表面的技術(shù),將帶有深度變化的凹凸材質(zhì)貼圖賦予3D物體,經(jīng)過光線渲染處理后,這個(gè)物體的表面就會呈現(xiàn)出凹凸不平的感覺,而無需改變物體的幾何結(jié)構(gòu)或增加額外的點(diǎn)面。例如,把一張碎石的貼圖賦予一個(gè)平面,經(jīng)過處理后這個(gè)平面就會變成一片鋪滿碎石、高低不平的荒原。當(dāng)然,使用凹凸貼圖產(chǎn)生的凹凸效果其光影的方向角度是不會改變的,而且不可能產(chǎn)生物理上的起伏效果。


凹凸貼圖的墻壁效果,注意看邊緣其實(shí)沒有任何凹槽

    凹凸貼圖在今天看來已經(jīng)是老的不能再老的一種技術(shù)了,雖然能夠獲得凹凸的效果,但是凹凸的程度非常受限制,基本上只能做出一些簡單的浮雕效果來。這種技術(shù)通常用在一些觀察視角變化很小的情況上,例如地面,墻壁,遠(yuǎn)處的一些模型等等,如果角度稍微一大,你就會發(fā)現(xiàn)那些凹坑其實(shí)是根本不存在的。

● 法線貼圖

    法線貼圖就是把一個(gè)表面的凹凸情況用每個(gè)點(diǎn)的法線向量記錄下來,在貼圖的時(shí)候根據(jù)法線貼圖做光影的變換,從而實(shí)現(xiàn)凹凸效果。

    法線貼圖比起凹凸貼圖而言,能夠?qū)崿F(xiàn)的效果更好了,相對的就是運(yùn)算量更大了,需要大量的紋理材質(zhì),每個(gè)象素的光照情況都需要計(jì)算這個(gè)點(diǎn)的法線向量和光照情況的夾角計(jì)算該點(diǎn)的亮度和顏色。為了節(jié)約GPU資源,ATI曾開發(fā)了3DC+紋理壓縮技術(shù),這對于法線貼圖有莫大的幫助。

    當(dāng)然,法線貼圖技術(shù)同樣不是完美的,它也有著自己的不足,凹凸貼圖沒有能夠解決的切向效果問題肯定是仍然不能夠得到解決。此外,就是法線貼圖技術(shù)不能夠解決解決更大的凹凸情況的效果。大家如果去觀察的話,法線貼圖效果能實(shí)現(xiàn)的通常是一些內(nèi)凹或者外凸不是很嚴(yán)重的表面效果。

● 視差映射貼圖

    為了解決法線貼圖在處理較深內(nèi)凹之時(shí)不能夠達(dá)到的弊端,誕生了新的視差映射貼圖技術(shù)。該技術(shù)其實(shí)稱之為視差遮蔽貼圖似乎更容易理解一些,因?yàn)樗鼤y理的坐標(biāo)做變換,一些凸出的紋理會遮蔽到其他的紋理,這樣就會看起來具備更好的凹凸的感覺了。


ATI X1000 Demo中就包含了視察映射技術(shù)

    正如我們在上圖看到的情況一樣,地面上的石塊的凹凸感覺非常好,前面的石塊已經(jīng)對后面的石塊進(jìn)行了局部的遮蔽。雖然這個(gè)Demo中的磚塊依然很假,但磚塊之間凹凸的效果已經(jīng)得到了完美體現(xiàn),非常遺憾的是,沒有任何一款DX9游戲使用過這種視差貼圖技術(shù)。

● 直到DX10時(shí)代才大量使用視差映射貼圖技術(shù)

    視差貼圖技術(shù)的實(shí)現(xiàn)原理,其實(shí)和法線貼圖是一樣的,都是根據(jù)法線貼圖進(jìn)行的處理,所以我們可以把它當(dāng)作是法線貼圖的一種衍生技術(shù)。視差貼圖技術(shù)的實(shí)現(xiàn)是和硬件沒有必然聯(lián)系的,這個(gè)技術(shù)概念的誕生其實(shí)也非常早,只是未能得到大量使用,這是因?yàn)橐暡钯N圖技術(shù)的運(yùn)算量要比法線貼圖大了不少,原來的顯示芯片因?yàn)樾阅苡邢藁径歼\(yùn)行不了。


狂野西部DX10版本首次使用了視差映射貼圖


《孤島危機(jī)》中的石塊和地面都使用了視察映射貼圖

    最早使用視差映射貼圖技術(shù)的游戲叫做《狂野西部》,首批DX10游戲之一,DX9版本不支持。由于DX10顯卡都采用了統(tǒng)一渲染架構(gòu),可以方便的集中利用Shader資源,來渲染出復(fù)雜的特效。再加上有全新的幾何著色器輔助,因此特效的運(yùn)用方面可以更加靈活,游戲開發(fā)商可以很容易的自定義一些特效渲染方式,所以將先進(jìn)的技術(shù)都安置在DX10模式之中也是無可厚非。

● 代表游戲:《狂野西部》、《孤島危機(jī)》、《潛行者》

    游戲中所使用的圖形技術(shù)動(dòng)輒數(shù)以百計(jì),即便是像3DMark這樣簡短的測試程序中,也包含了數(shù)十項(xiàng)先進(jìn)的、甚至是獨(dú)創(chuàng)的渲染技術(shù),有些技術(shù)甚至連一個(gè)像樣的名字都沒有,而真正能得到廣泛使用、被3D游戲愛好這所熟知的技術(shù),確實(shí)是屈指可數(shù)。


Crysis的畫面之所以如此完美,是因?yàn)閹缀跛械母呒増D形技術(shù)它都有所使用

    所以,本文只是有選擇性的介紹了一些知名的、肉眼看得出差別、能明顯提升游戲畫質(zhì)的圖形技術(shù),其實(shí)在這些風(fēng)光無限技術(shù)的背后,還有很多默默無聞的、用以提升渲染效率的輔助技術(shù)。


Tessellation技術(shù)的坎坷發(fā)展歷程

    而且,這些圖形技術(shù)也不是一朝一夕就能得到程序員的青睞、并獲得游戲玩家的認(rèn)可,比如HDR技術(shù)時(shí)至今日依然存在兼容性問題、動(dòng)態(tài)模糊和景深經(jīng)過三代API的改良效果才令人滿意、Tessellation技術(shù)更是經(jīng)過六代七年的發(fā)展才修成正果!

    每一代圖形API的革新,一方面是加入新的特效、讓畫面變得更完美,另一方面是通過新的指令提升運(yùn)算效率。顯卡進(jìn)入DX10時(shí)代后,畫面已經(jīng)達(dá)到了巔峰,很難再有較大的突破,因此后續(xù)的DX10.1和DX11都主要是為了優(yōu)化算法,使得游戲運(yùn)行更加流暢,也有利于游戲開發(fā)者使用更多、更強(qiáng)的圖形技術(shù),營造出更逼真的3D畫面!■<

0人已贊

關(guān)注我們

泡泡網(wǎng)

手機(jī)掃碼關(guān)注