DirectX10還沒怎么用過,DirectX11又快出來了,剛剛裝好了08年11月份的SDK,就趕快把DirectX11的新特性瀏覽了一下。雖然現(xiàn)在還是預(yù)覽版,但按理來說和最終的D11的規(guī)范也差不了多少了,那就來先睹為快吧。
D11的4大新特性包括:
新特性1:計算著色器(Computer Shader) 這是繼D10中引入的幾何著色器(Geometry Shader)之后有一個重要的可編程階段。但和GS不同的是,CS不是渲染管線的一部分。它的作用是進行通用計算,類似于NVIDIA的CUDA庫。顯卡的作用現(xiàn)在就不只是進行圖像渲染了,它也能進行大量復(fù)雜的計算了。
新特性2:動態(tài)著色器鏈接(Dynamic Shader Linkage) 在現(xiàn)在的著色器編程中,著色器程序的復(fù)用都是在代碼級,即將通用的功能寫到的子函數(shù)中,然后在著色器代碼中進行調(diào)用。這實際上只是減少了代碼的編寫量,并沒有減少最終編譯出來的著色器長度。相當(dāng)于C編程中的靜態(tài)庫鏈接。而動態(tài)鏈接則是在可執(zhí)行代碼級的復(fù)用。相當(dāng)于動態(tài)鏈接庫(DLL)。
新特性3:多線程 不管是CPU還是GPU,當(dāng)單核的能力已經(jīng)接近于極限時,多核就是必然的趨勢。但不是所有的程序天生都能被多核加速的,需要精心的設(shè)計。D11的多線程/多核設(shè)計就是為了便于將運行時/驅(qū)動/應(yīng)用程序間的復(fù)雜分布到不同的核心上去。更有效地利用GPU的特性。同時,D11的多線程支持也提供與XBox360相似的開發(fā)環(huán)境,便于跨平臺的開發(fā)。因為XBox360有6個核心。另外,多線程也便于進行并行地進行GPU通用計算。
新特性4:細分(Tesselation)D11將支持實時的高階圖元細分,也就是利用GPU來進行各種細分算法運算。這樣可以動態(tài)地調(diào)節(jié)細分的程度,以后人工的模型LOD就可以被淘汰了。
完整的新特性列表:
細分
外殼著色器(Hull Shader)
域著色器(Domain Shader)
多線程
著色器特性
紋理
保守的oDepth
大量內(nèi)存支持
流輸出增強
ShaderModel5
只讀的深度和模板視圖
間接繪制
其他