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