導航:首頁 > 編程語言 > dx11游戲編程入門

dx11游戲編程入門

發布時間:2022-07-01 00:37:24

⑴ DX11是什麼

專業的講DirectX是一種圖形應用程序介面(API),簡單的說它是一個輔助軟體,一個提高系統性能的加速軟體,微軟創建開發的。

DX11主要用途是3D圖形庫,也包含2D和聲音等,主要是為了更好的利用顯卡資源創建3D應用,最多的就是游戲了,一些動畫製作,3D模型製作軟體等也會依賴於DX11,DX11為游戲效果做了很多基礎的准備,游戲引擎要依靠DX11來製作3D效果。

這是微軟的圖形編程介面,也形成了一個標准,顯卡硬體符合這個標准則能更好的發揮作用,使軟體與硬體之間更加高效的運作。

特點

DX11新增了計算著色器(Compute Shader)代碼示例,在今年的NVISION大會上,微軟就透漏了這點,並通過SIGGRAPH以及GameFest 2008大會上放出的幻燈片,我們可以進行一些深入的研究。此外,DX11特性的提前放出,對於目前DX10以及DX10.1硬體用戶而言也大有裨益,因為AMD和NVIDIA可以照此提前開發適當的驅動支持。

以上內容參考:網路-DirectX 11

⑵ DirectX 11的新技術預覽

1,Direct3D11渲染管線:
看上去,DirectX 11比DirectX 10更酷。DirectX 11的很多提升意味著更高的特性性能,而這些特性很少能在DX10中看到。DirectX 11和DirectX 10兩者最大的不同之處在於管線,可以說DirectX 11的渲染管線標志著繪圖硬體以及軟體功能革命性一步。DirectX 11加入了對Tessellation(鑲嵌)的支持。Tessellation 由外殼著色器(Hull Shader)、鑲嵌單元(tessellator)以及域著色器(Domain Shader)組成。同時還加入了計算著色器(Compute Shader),計算著色器與DX10中引入的GS不同,它並不是渲染管線的一部分,CS也是DirectX 11的重要改進之一,可以很大程度上協助開發人員彌補現實與虛幻之間的差別。
2,Tessellation鑲嵌技術:
在此之前,關於DirectX 11的報道可謂鋪天蓋地。事實上,自R600發布時,DirectX 11這個字眼才開始越來越多的出現在網路上。盡管R6xx和R7xx硬體都具有tessellator單元,但是由於tessellator屬於專有實現方案(proprietary implementation),所以R6xx和R7xx硬體是不能直接兼容DirectX 11,更何況DirectX 11採用了極其精密老練的設置過程。事實上,DX11 tessellator單元本身不具備可編程性,DX11向tessellator (TS)輸入或者從中輸出的過程是通過兩個傳統的管線階段完成的:Hull Shader (HS,外殼著色器)和Domain Shader (DS,域著色器)。
tessellator可以把一些較大的圖元(primitive)分成很多更小的圖元,並將這些小圖元組合到一起,形成一種有序的幾何圖形,這種幾何圖形更復雜,當然也更接近現實。這個過程也被稱作細分曲面(Subdivision Surfaces)。舉例來說,tessellator可以讓一個立方體,通過處理看起來像是個球形,這樣的話無疑節省了空間。此外,圖形的質量、性能以及可控性也達到了一定的促進。
Hull Shader負責接收一種由全四邊形網格(quad mash)計算得到的圖元數據(稱作patches),並計算控制點(control points)的各種變換以及輸入的圖元各個邊的鑲嵌配置(tessellation factors),從而進行鑲嵌。其中Control points用來定義想要得到的圖形(比如說一個曲面或者其他)的圖形參數。如果您經常用Photoshop繪圖軟體的話,不妨把Control points理解為PS的鋼筆工具:用平面代替線的貝塞爾曲線功能。Hull Shader採用control points來決定如何安排tessellator處理數據,利用Tessellator生成大批量的新的圖元,然後將這些圖元以及控制點傳送給Domain Shader,Domain Shader將這些數據計算轉換成3D處理中的頂點,最後GPU生成曲線以及多邊形。
3,多線程的支持:
由於DX11所新增的特性甚至可以應用到DX10硬體中,所以我們對於DX11的快速應用都非常期待和樂觀。DX11特性還包括很重要一點:支持多線程(multi-threading)。沒錯,無論是DX10還是DX11,所有的色彩信息最終都將被光柵化並顯示在電腦顯示屏上(無論是通過線性的方式還是同步的),但是DX11新增了對多線程技術的支持,得益於此,應用程序可以同步創造有用資源或者管理狀態,並從所有專用線程中發送提取命令,這樣做無疑效率更高。DX11的這種多線程技術可能並不能加速繪圖的子系統(特別是當我們的GPU資源受限時),但是這樣卻可以提升線程啟動游戲的效率,並且可以利用台式CPU核心數量不斷提高所帶來的潛力。
對於場景中的人像和三個鏡像,DX11會啟動四個單獨線程進行並行處理,效率自然要比現在依次進行的做法高很多。
搭載8顆以及16顆邏輯核心的CPU系統已經離我們越來越近,現在游戲開發商們也該趕緊行動起來了,是時候解決有些游戲在雙核心系統中運行緩慢的問題了。但是開發一款能夠很大程度上促進雙核以上系統普及的游戲,所能夠獲得的利潤以及需要的付出目前來講還很不樂觀,所以這一進程進展緩慢。對於大多數游戲而言,充分利用四核心以及超過四核心的多線程優勢還非常困難。盡管如此,通過多線程技術讓簡單的平行運算資源產生並顯示出來,確實為採用平行運算代碼的游戲提供了走紅的機會,這些游戲代碼也可以以單線程編碼的方式存在。由於DX11系統中並不是採用一條線程處理所有DX state change以及draw call(或者說大量同步線程共同負責某一任務)的方式,所以游戲開發者可以很自然的創造出線程處理某個場景的某一類或者某一群的客體對象,並為將來所有客體對象或者實體為各自的線程處理打下基礎(如果邏輯核心最終達到數百顆之後,這種線程處理方式對於提取硬體性能尤為重要)。
此外,DX10硬體也能夠在運行DX11游戲時支持多線程,微軟的這一計劃相當令人興奮,不過值得一提的是,AMD以及NVIDIA必須為各自的DX10硬體開發出相應的驅動軟體才能達到這一效果(因為如果沒有相應的驅動支持的話,DX10硬體即便可以運行DX11游戲,對於玩家而言並不會看到真正應有的效果)。當然了,我們希望NVIDIA,特別是AMD(因為他同時也是一家可以生產多核心CPU的廠商)能夠對此感興趣。而且,如果A/N這么做到話,無疑會為游戲開發商們開發DX11游戲提供誘因,即便是A/N的DX11硬體還在襁褓之中。
4,計算著色器Compute Shader:
很多游戲開發者都對DX11新增的Compute Shader(通常簡稱為CS)特性嘖嘖稱贊。CS的這一渲染管線能夠進行更多的通用目的運算。我們既能在某種可以用來被執行數據的操作中看到這種特性,又能在某種可以用來操作的數據中看到這種特性。
在DirectX11以及CS的幫助下,游戲開發者便可以使用更為復雜的數據結構,並在這些數據結構中運行更多的通用演算法。與其他完整的可編程的DX10和DX11管線階段一樣,CS將會共享一套物質資源(也就是著色處理器)。
相應的硬體需要在運行CS代碼時更靈活些,這些CS代碼必須支持隨機讀寫、不規則列陣(而不是簡單的流體或者固定大小的2D列陣)、多重輸出、可根據程序員的需要直接調用個別或多線程的應用、32k大小的共享寄存空間和線程組管理系統、原子數據指令集、同步建構以及可執行無序IO運算的能力。
與此同時,CS也將會隨之失去一些特性。因為單個線程已經不再被看成是一個像素,所以線程將會喪失幾何集合功能。這就意味著,盡管CS程序依然可以利用紋理取樣功能,但是自動三線LOD過濾計算將會喪失自動功能(LOD必須被指定)。此外,一些並不重要的普通數據的深度剔除(depth culling)、反鋸齒(anti-aliasing)、alpha混合(alpha blending)以及其他運算不能在一個CS程序中被執行。
除了某些特殊應用的渲染,游戲開發者可能同時也希望做一些諸如IK(inverse kinematics,反向運動學)、物理、人工智慧以及其他在GPU上執行的傳統的CPU任務之類的運算。用CS演算法在GPU上執行這些數據意味著這些數據將會更快的被渲染,而且一些演算法可能在GPU上的執行速度更快。如果某些總是產生同樣結果的演算法既可以出現在CPU上又可以出現在GPU上的話,諸如AI以及物理等運算甚至可以同時在CPU和GPU上運行(這種運算實際上也可以代替帶寬)。
即便是這些運算代碼在相同的硬體(CPU或者GPU)上運行,PS以及CS代碼的執行也是兩個截然不同的過程,這主要取決於被執行的演算法。有趣的是,暴露數據以及柱狀數據經常被用作HDR渲染。用PS代碼計算這些數據的話就需要幾條通道和幾種技巧,以便提取所有像素,從而集中或者平分這些數據。盡管共享數據將會或多或少的減緩處理速度,但是共享數據的方式要比在多通道中計算速度更快,而且這樣可以使CS成為這些演算法的理想處理階段。
5,Shader Model 5.0:
DirectX 10的Shader Model 4.0(Shader Model以下簡稱「SM」)帶來了整數運算和位運算的功能,DirectX 10.1的SM 4.1加入了對MSAA的直接采樣和控制。而DirectX 11包含的SM 5.0,採用面向對象的概念,並且完全可以支持雙精度數據。隨著SM 5.0的發布,微軟也會將HLSL語言更新至最新版本,其中包含了諸如動態著色、動態分支和更多的對象等。總之,面向專業開發人員的SM 5.0,依舊是以降低編程的難度和復雜為目的。
為了解決Shader靈活性與彈性不足的問題,微軟在HLSL5.0中帶來解決之道。HLSL5.0提出shader子程序的概念,即允許程序員將各種小段、簡單或為個別需要而特製的shader程序鏈接起來,再根據實際需要動態調用,這樣既能夠提高硬體兼容性,同時減少「巨型shader」對寄存器空間的佔用,有效提升性能。
6,改進的紋理壓縮
精細的紋理對視覺效果的增益是顯而易見的。目前的3D游戲越來越傾向於使用更大、更為精細的紋理,但是過大的紋理嚴重佔用顯存和帶寬。由於目前紋理壓縮仍然不支持HDR圖像,因此DirectX 11提出了更為出色的紋理壓縮演算法——BC6和BC7。BC6是為HDR圖像設計的壓縮演算法,壓縮比為6∶1;而BC7是為低動態范圍紋理設計的壓縮模式,壓縮比為3∶1。兩種壓縮演算法在高壓縮比下畫質損失更少,效果更出色。
這是一幅對HDR文件的壓縮示意圖,BC6的壓縮相對於原圖來說,僅僅損失了極小的畫質,卻獲得了非常出色的效果。
紋理質量對畫面效果起著至關重要的作用。比如我們運行3D游戲時,畫面內同樣一個物體,觀察距離較遠時,紋理銳利而清晰,但當你拉近視角,近距離細看時,紋理就非常粗糙了。更不用說在某些游戲中還有類似放大鏡、望遠鏡等道具,啟用這些道具後,只能看到更為粗糙和不真實的紋理。出現這種問題,一方面是紋理壓縮率損失嚴重,細膩的紋理壓縮存放後,損失大量細節;另一方面是大紋理難以保證保證游戲運行速度和軟體體積,如果在游戲中大面積採用解析度高達4000dpi的紋理貼圖,那麼顯卡的運算資源和顯存容量很快就會告罄。因此,DirectX 11最快速和最直觀的改變就是再次改進了紋理的壓縮演算法,將紋理體積和紋理質量控制在一個相當優秀的范圍之內。

⑶ DX11是什麼意思

先是我簡潔的回答你我們之前一直用的WIN XP里的基本都是DX9的是一個圖形處理的核心軟體然後到達VASTA後就有了DX10 圖形處理3D效果 顏色等等 更為逼真 但是消耗顯卡需要很強大的顯卡和 硬體的支持後期發展到DX11 最大的改變就是 比DX10畫面還好一點 但是消耗硬體少了很多所以DX10隻是個過渡的版本 雖然這么說 DX10的畫面游戲還是很震撼的塵埃2 荒島餘生 都很震撼 開啟DX10之後下面是官方的微軟在CES 2008上透露,下一代API介面DirectX 11預計將在2008年底或2009年制定效果完成。當然,這並不就代表DX11就一定會在去年底今年初正式發布,在硬體方面DX10顯卡現在還未全面普及,目前,ATI剛剛發布了支持DX11的基於Cypress核心的HD5800系列顯卡,而NVIDIA才剛造出支持DX11的GT300晶元的樣品。

DirectX 11 新技術預覽:

1,Direct3D11渲染管線:
看上去,DirectX 11比DirectX 10更酷。DirectX 11的很多提升意味著更高的特性性能,而這些特性很少能在DX10中看到。DirectX 11和DirectX 10兩者最大的不同之處在於管線,可以說DirectX 11的渲染管線標志著繪圖硬體以及軟體功能革命性一步。DirectX 11加入了對Tessellation(鑲嵌)的支持。Tessellation 由外殼著色器(Hull Shader)、鑲嵌單元(tessellator)以及域著色器(Domain Shader)組成。同時還加入了計算著色器(Compute Shader),計算著色器與DX10中引入的GS不同,它並不是渲染管線的一部分,CS也是DirectX 11的重要改進之一,可以很大程度上協助開發人員彌補現實與虛幻之間的差別。
2,Tessellation鑲嵌技術:
在此之前,關於DirectX 11的報道可謂鋪天蓋地。事實上,自R600發布時,DirectX 11這個字眼才開始越來越多的出現在網路上。盡管R6xx和R7xx硬體都具有tessellator單元,但是由於tessellator屬於專有實現方案(proprietary implementation),所以R6xx和R7xx硬體是不能直接兼容DirectX 11,更何況DirectX 11採用了極其精密老練的設置過程。事實上,DX11 tessellator單元本身不具備可編程性,DX11向tessellator (TS)輸入或者從中輸出的過程是通過兩個傳統的管線階段完成的:Hull Shader (HS,外殼著色器)和Domain Shader (DS,域著色器)。
tessellator可以把一些較大的圖元(primitive)分成很多更小的圖元,並將這些小圖元組合到一起,形成一種有序的幾何圖形,這種幾何圖形更復雜,當然也更接近現實。這個過程也被稱作細分曲面(Subdivision Surfaces)。舉例來說,tessellator可以讓一個立方體,通過處理看起來像是個球形,這樣的話無疑節省了空間。此外,圖形的質量、性能以及可控性也達到了一定的促進。
Hull Shader負責接收一種由全四邊形網格(quad mash)計算得到的圖元數據(稱作patches),並計算控制點(control points)的各種變換以及輸入的圖元各個邊的鑲嵌配置(tessellation factors),從而進行鑲嵌。其中Control points用來定義想要得到的圖形(比如說一個曲面或者其他)的圖形參數。如果您經常用Photoshop繪圖軟體的話,不妨把Control points理解為PS的鋼筆工具:用平面代替線的貝塞爾曲線功能。Hull Shader採用control points來決定如何安排tessellator處理數據,利用Tessellator生成大批量的新的圖元,然後將這些圖元以及控制點傳送給 Domain Shader,Domain Shader將這些數據計算轉換成3D處理中的頂點,最後GPU生成曲線以及多邊形。
3,多線程的支持:由於DX11所新增的特性甚至可以應用到DX10硬體中,所以我們對於DX11的快速應用都非常期待和樂觀。DX11特性還包括很重要一點:支持多線程(multi-threading)。沒錯,無論是DX10還是DX11,所有的色彩信息最終都將被光柵化並顯示在電腦顯示屏上(無論是通過線性的方式還是同步的),但是DX11新增了對多線程技術的支持,得益於此,應用程序可以同步創造有用資源或者管理狀態,並從所有專用線程中發送提取命令,這樣做無疑效率更高。DX11的這種多線程技術可能並不能加速繪圖的子系統(特別是當我們的GPU資源受限時),但是這樣卻可以提升線程啟動游戲的效率,並且可以利用台式CPU核心數量不斷提高所帶來的潛力。
對於場景中的人像和三個鏡像,DX11會啟動四個單獨線程進行並行處理,效率自然要比現在依次進行的做法高很多。
搭載8顆以及16顆邏輯核心的CPU系統已經離我們越來越近,現在游戲開發商們也該趕緊行動起來了,是時候解決有些游戲在雙核心系統中運行緩慢的問題了。但是開發一款能夠很大程度上促進雙核以上系統普及的游戲,所能夠獲得的利潤以及需要的付出目前來講還很不樂觀,所以這一進程進展緩慢。對於大多數游戲而言,充分利用四核心以及超過四核心的多線程優勢還非常困難。盡管如此,通過多線程技術讓簡單的平行運算資源產生並顯示出來,確實為採用平行運算代碼的游戲提供了走紅的機會,這些游戲代碼也可以以單線程編碼的方式存在。由於DX11系統中並不是採用一條線程處理所有DX state change以及draw call(或者說大量同步線程共同負責某一任務)的方式,所以游戲開發者可以很自然的創造出線程處理某個場景的某一類或者某一群的客體對象,並為將來所有客體對象或者實體為各自的線程處理打下基礎(如果邏輯核心最終達到數百顆之後,這種線程處理方式對於提取硬體性能尤為重要)。
此外,DX10硬體也能夠在運行DX11游戲時支持多線程,微軟的這一計劃相當令人興奮,不過值得一提的是,AMD以及NVIDIA必須為各自的DX10硬體開發出相應的驅動軟體才能達到這一效果(因為如果沒有相應的驅動支持的話,DX10硬體即便可以運行DX11游戲,對於玩家而言並不會看到真正應有的效果)。當然了,我們希望NVIDIA,特別是AMD(因為他同時也是一家可以生產多核心 CPU的廠商)能夠對此感興趣。而且,如果A/N這么做到話,無疑會為游戲開發商們開發DX11游戲提供誘因,即便是A/N的DX11硬體還在襁褓之中。
4,計算著色器Compute Shader:
很多游戲開發者都對DX11新增的Compute Shader(通常簡稱為CS)特性嘖嘖稱贊。CS的這一渲染管線能夠進行更多的通用目的運算。我們既能在某種可以用來被執行數據的操作中看到這種特性,又能在某種可以用來操作的數據中看到這種特性。
在DirectX11以及CS的幫助下,游戲開發者便可以使用更為復雜的數據結構,並在這些數據結構中運行更多的通用演算法。與其他完整的可編程的DX10和DX11管線階段一樣,CS將會共享一套物質資源(也就是著色處理器)。
相應的硬體需要在運行CS代碼時更靈活些,這些CS代碼必須支持隨機讀寫、不規則列陣(而不是簡單的流體或者固定大小的2D列陣)、多重輸出、可根據程序員的需要直接調用個別或多線程的應用、32k大小的共享寄存空間和線程組管理系統、原子數據指令集、同步建構以及可執行無序IO運算的能力。
與此同時,CS也將會隨之失去一些特性。因為單個線程已經不再被看成是一個像素,所以線程將會喪失幾何集合功能。這就意味著,盡管CS程序依然可以利用紋理取樣功能,但是自動三線LOD過濾計算將會喪失自動功能(LOD必須被指定)。此外,一些並不重要的普通數據的深度剔除(depth culling)、反鋸齒(anti-aliasing)、alpha混合(alpha blending)以及其他運算不能在一個CS程序中被執行。
除了某些特殊應用的渲染,游戲開發者可能同時也希望做一些諸如IK(inverse kinematics,反向運動學)、物理、人工智慧以及其他在GPU上執行的傳統的CPU任務之類的運算。用CS演算法在GPU上執行這些數據意味著這些數據將會更快的被渲染,而且一些演算法可能在GPU上的執行速度更快。如果某些總是產生同樣結果的演算法既可以出現在CPU上又可以出現在GPU上的話,諸如 AI以及物理等運算甚至可以同時在CPU和GPU上運行(這種運算實際上也可以代替帶寬)。
即便是這些運算代碼在相同的硬體(CPU或者GPU)上運行,PS以及CS代碼的執行也是兩個截然不同的過程,這主要取決於被執行的演算法。有趣的是,暴露數據以及柱狀數據經常被用作HDR渲染。用PS代碼計算這些數據的話就需要幾條通道和幾種技巧,以便提取所有像素,從而集中或者平分這些數據。盡管共享數據將會或多或少的減緩處理速度,但是共享數據的方式要比在多通道中計算速度更快,而且這樣可以使CS成為這些演算法的理想處理階段。
5,Shader Model 5.0:
DirectX 10的Shader Model 4.0(Shader Model以下簡稱「SM」)帶來了整數運算和位運算的功能,DirectX 10.1的SM 4.1加入了對MSAA的直接采樣和控制。而DirectX 11包含的SM 5.0,採用面向對象的概念,並且完全可以支持雙精度數據。隨著SM 5.0的發布,微軟也會將HLSL語言更新至最新版本,其中包含了諸如動態著色、動態分支和更多的對象等。總之,面向專業開發人員的SM 5.0,依舊是以降低編程的難度和復雜為目的。
為了解決Shader靈活性與彈性不足的問題,微軟在HLSL5.0中帶來解決之道。 HLSL5.0提出shader子程序的概念,即允許程序員將各種小段、簡單或為個別需要而特製的shader程序鏈接起來,再根據實際需要動態調用,這樣既能夠提高硬體兼容性,同時減少「巨型shader」對寄存器空間的佔用,有效提升性能。
6,改進的紋理壓縮:精細的紋理對視覺效果的增益是顯而易見的。目前的3D游戲越來越傾向於使用更大、更為精細的紋理,但是過大的紋理嚴重佔用顯存和帶寬。由於目前紋理壓縮仍然不支持HDR圖像,因此DirectX 11提出了更為出色的紋理壓縮演算法——BC6和BC7。BC6是為HDR圖像設計的壓縮演算法,壓縮比為6∶1;而BC7是為低動態范圍紋理設計的壓縮模式,壓縮比為3∶1。兩種壓縮演算法在高壓縮比下畫質損失更少,效果更出色。

⑷ 顯卡的DX11是什麼意思如何解釋需要詳細的解說!

dx11是一種新的特效,它可以使畫面更加真實,就如同3D,4D的一樣,更加高的DX指數畫面就越精細,但是支持DX形式的必須是HD5670,GT220以上,同樣的道理支持特效越高就代表要求電腦配置越高。

⑸ DX11表示什麼意思

顯卡採用的一種新技術,更好的渲染色彩,使畫面流暢,游戲性能更好。 幾何渲染單元支持點、線、三角形、帶鄰接點的線、帶鄰接點的三角形等多種圖元類型,它一次最多可處理六個頂點。藉助豐富的圖元類型支持,幾何渲染單元可以讓GPU提供更精細的模型細節。
DX10技術讓光影效果(包括HDR)和物理加速有了更好的效果,尤其是DX10引入了Nvidia的PhysX功能,這個功能可以讓顯示卡的Gpu完全發揮出全部活力來處理物體的物理/幾何運動效果

DX11新增了計算著色器(Compute Shader)代碼示例,在今年的NVISION大會上,微軟就透漏了這點,並通過SIGGRAPH以及GameFest 2008大會上放出的幻燈片,我們可以進行一些深入的研究。此外,DX11特性的提前放出,對於目前DX10以及DX10.1硬體用戶而言也大有裨益,因為AMD和NVIDIA可以照此提前開發適當的驅動支持。

DirectX 11的諸多特性似乎暗示我們,DirectX 11被迅速採用的時機已經成熟,特別是微軟的Windows 7發布之後,這一趨勢將會勢不可擋。而如今,HLSL(High Level Shading Language,高級渲染語言)已經完全成熟,這勢必會讓DX11在眾游戲開發者們眼裡變得更加具有吸引力,而且越來越多的人開始認識到DX10其實就是DX11的子集,這對於DirectX 11將來被快速採用也會起到促進作用。另外,DX11可以讓平行編程變得更加容易,其獨有的特性也會促進開發者們大膽的、迅速採納這種API。DirectX 11同時可以兼容Vista操作系統,所以用戶不用擔心不能升級,而Windows 7與生俱來的魅力在很大程度上也會促使Windows XP用戶們做出升級的決定,也就是說,對於開發者們而言,市場上將會有足夠大的可運行DX11的系統群體。

微軟曾許諾DirectX 10可以帶來革命性的視覺體驗以及渲染技術,但結果卻是仁者見仁,不過可以肯定的是,DirectX 11可能最終將會履行這一承諾。雖然我們現在不可能馬上就看到DirectX 11獨有的特性所帶來的效果,但是這一新版API的普及將會對刺激適時3D繪圖技術不斷提升大有裨益。

從DirectX 6到DirectX 9,微軟一直在有條不紊的使他們的編程API從一種固定的功能傳播介質以及動態的數據結構向一種豐滿的、可編程的、可進行繪圖硬體深控的環境演變。從DX9到DX10的演變可以說是一種升華:DX9的可編程性得到了進一步擴展和延伸,並在新一代硬體的作用下變得更具深度和彈性。此外,微軟還通過各種手段提升了DX10的穩定性以及靈活性。但是,DirectX 11的演變過程則有很多不同。

為了最大限度的提升可編程性,DX11寧可丟掉一些原有的結構效度。微軟將DirectX 11構建成DirectX 10/10.1的精確父集,這讓DirectX 11無形中新增了很多奇妙的潛力。特別是,DX10代碼將會變成可以選擇不去執行某些先進特性的DX11代碼,而反過來,DX11又可以在所有同等水平的硬體上運行。當然了,對於DX10而言,並不是所有的DX11特性都是可用的,但是這卻意味著開發者可在採用DX11的情況下同時針對DX10和DX11硬體進行開發,而不用考慮兩者完全分開對待:因為兩者是相同的,只不過,一個是另一個的子集功能而已。但是,如果應用某些DX11獨有特效(比如說tessellator或者compute shader)時,區分代碼路徑是非常必要的,但這完全屬於從DX10向DX11過渡過程中的益處所在。

編輯本段DirectX 11 新技術預覽
1,Direct3D11渲染管線:



Direct3D11管線

看上去,DirectX 11比DirectX 10更酷。DirectX 11的很多提升意味著更高的特性性能,而這些特性很少能在DX10中看到。DirectX 11和DirectX 10兩者最大的不同之處在於管線,可以說DirectX 11的渲染管線標志著繪圖硬體以及軟體功能革命性一步。DirectX 11加入了對Tessellation(鑲嵌)的支持。Tessellation 由外殼著色器(Hull Shader)、鑲嵌單元(tessellator)以及域著色器(Domain Shader)組成。同時還加入了計算著色器(Compute Shader),計算著色器與DX10中引入的GS不同,它並不是渲染管線的一部分,CS也是DirectX 11的重要改進之一,可以很大程度上協助開發人員彌補現實與虛幻之間的差別。

2,Tessellation鑲嵌技術:

在此之前,關於DirectX 11的報道可謂鋪天蓋地。事實上,自R600發布時,DirectX 11這個字眼才開始越來越多的出現在網路上。盡管R6xx和R7xx硬體都具有tessellator單元,但是由於tessellator屬於專有實現方案(proprietary implementation),所以R6xx和R7xx硬體是不能直接兼容DirectX 11,更何況DirectX 11採用了極其精密老練的設置過程。事實上,DX11 tessellator單元本身不具備可編程性,DX11向tessellator (TS)輸入或者從中輸出的過程是通過兩個傳統的管線階段完成的:Hull Shader (HS,外殼著色器)和Domain Shader (DS,域著色器)。

tessellator可以把一些較大的圖元(primitive)分成很多更小的圖元,並將這些小圖元組合到一起,形成一種有序的幾何圖形,這種幾何圖形更復雜,當然也更接近現實。這個過程也被稱作細分曲面(Subdivision Surfaces)。舉例來說,tessellator可以讓一個立方體,通過處理看起來像是個球形,這樣的話無疑節省了空間。此外,圖形的質量、性能以及可控性也達到了一定的促進。

Hull Shader負責接收一種由全四邊形網格(quad mash)計算得到的圖元數據(稱作patches),並計算控制點(control points)的各種變換以及輸入的圖元各個邊的鑲嵌配置(tessellation factors),從而進行鑲嵌。其中Control points用來定義想要得到的圖形(比如說一個曲面或者其他)的圖形參數。如果您經常用Photoshop繪圖軟體的話,不妨把Control points理解為PS的鋼筆工具:用平面代替線的貝塞爾曲線功能。Hull Shader採用control points來決定如何安排tessellator處理數據,利用Tessellator生成大批量的新的圖元,然後將這些圖元以及控制點傳送給Domain Shader,Domain Shader將這些數據計算轉換成3D處理中的頂點,最後GPU生成曲線以及多邊形。

3,多線程的支持:



DX11多線程處理

由於DX11所新增的特性甚至可以應用到DX10硬體中,所以我們對於DX11的快速應用都非常期待和樂觀。DX11特性還包括很重要一點:支持多線程(multi-threading)。沒錯,無論是DX10還是DX11,所有的色彩信息最終都將被光柵化並顯示在電腦顯示屏上(無論是通過線性的方式還是同步的),但是DX11新增了對多線程技術的支持,得益於此,應用程序可以同步創造有用資源或者管理狀態,並從所有專用線程中發送提取命令,這樣做無疑效率更高。DX11的這種多線程技術可能並不能加速繪圖的子系統(特別是當我們的GPU資源受限時),但是這樣卻可以提升線程啟動游戲的效率,並且可以利用台式CPU核心數量不斷提高所帶來的潛力。

對於場景中的人像和三個鏡像,DX11會啟動四個單獨線程進行並行處理,效率自然要比現在依次進行的做法高很多。

搭載8顆以及16顆邏輯核心的CPU系統已經離我們越來越近,現在游戲開發商們也該趕緊行動起來了,是時候解決有些游戲在雙核心系統中運行緩慢的問題了。但是開發一款能夠很大程度上促進雙核以上系統普及的游戲,所能夠獲得的利潤以及需要的付出目前來講還很不樂觀,所以這一進程進展緩慢。對於大多數游戲而言,充分利用四核心以及超過四核心的多線程優勢還非常困難。盡管如此,通過多線程技術讓簡單的平行運算資源產生並顯示出來,確實為採用平行運算代碼的游戲提供了走紅的機會,這些游戲代碼也可以以單線程編碼的方式存在。由於DX11系統中並不是採用一條線程處理所有DX state change以及draw call(或者說大量同步線程共同負責某一任務)的方式,所以游戲開發者可以很自然的創造出線程處理某個場景的某一類或者某一群的客體對象,並為將來所有客體對象或者實體為各自的線程處理打下基礎(如果邏輯核心最終達到數百顆之後,這種線程處理方式對於提取硬體性能尤為重要)。

此外,DX10硬體也能夠在運行DX11游戲時支持多線程,微軟的這一計劃相當令人興奮,不過值得一提的是,AMD以及NVIDIA必須為各自的DX10硬體開發出相應的驅動軟體才能達到這一效果(因為如果沒有相應的驅動支持的話,DX10硬體即便可以運行DX11游戲,對於玩家而言並不會看到真正應有的效果)。當然了,我們希望NVIDIA,特別是AMD(因為他同時也是一家可以生產多核心CPU的廠商)能夠對此感興趣。而且,如果A/N這么做到話,無疑會為游戲開發商們開發DX11游戲提供誘因,即便是A/N的DX11硬體還在襁褓之中。

4,計算著色器Compute Shader:

很多游戲開發者都對DX11新增的Compute Shader(通常簡稱為CS)特性嘖嘖稱贊。CS的這一渲染管線能夠進行更多的通用目的運算。我們既能在某種可以用來被執行數據的操作中看到這種特性,又能在某種可以用來操作的數據中看到這種特性。

在DirectX11以及CS的幫助下,游戲開發者便可以使用更為復雜的數據結構,並在這些數據結構中運行更多的通用演算法。與其他完整的可編程的DX10和DX11管線階段一樣,CS將會共享一套物質資源(也就是著色處理器)。

相應的硬體需要在運行CS代碼時更靈活些,這些CS代碼必須支持隨機讀寫、不規則列陣(而不是簡單的流體或者固定大小的2D列陣)、多重輸出、可根據程序員的需要直接調用個別或多線程的應用、32k大小的共享寄存空間和線程組管理系統、原子數據指令集、同步建構以及可執行無序IO運算的能力。

與此同時,CS也將會隨之失去一些特性。因為單個線程已經不再被看成是一個像素,所以線程將會喪失幾何集合功能。這就意味著,盡管CS程序依然可以利用紋理取樣功能,但是自動三線LOD過濾計算將會喪失自動功能(LOD必須被指定)。此外,一些並不重要的普通數據的深度剔除(depth culling)、反鋸齒(anti-aliasing)、alpha混合(alpha blending)以及其他運算不能在一個CS程序中被執行。

除了某些特殊應用的渲染,游戲開發者可能同時也希望做一些諸如IK(inverse kinematics,反向運動學)、物理、人工智慧以及其他在GPU上執行的傳統的CPU任務之類的運算。用CS演算法在GPU上執行這些數據意味著這些數據將會更快的被渲染,而且一些演算法可能在GPU上的執行速度更快。如果某些總是產生同樣結果的演算法既可以出現在CPU上又可以出現在GPU上的話,諸如AI以及物理等運算甚至可以同時在CPU和GPU上運行(這種運算實際上也可以代替帶寬)。

即便是這些運算代碼在相同的硬體(CPU或者GPU)上運行,PS以及CS代碼的執行也是兩個截然不同的過程,這主要取決於被執行的演算法。有趣的是,暴露數據以及柱狀數據經常被用作HDR渲染。用PS代碼計算這些數據的話就需要幾條通道和幾種技巧,以便提取所有像素,從而集中或者平分這些數據。盡管共享數據將會或多或少的減緩處理速度,但是共享數據的方式要比在多通道中計算速度更快,而且這樣可以使CS成為這些演算法的理想處理階段。

5,Shader Model 5.0:

DirectX 10的Shader Model 4.0(Shader Model以下簡稱「SM」)帶來了整數運算和位運算的功能,DirectX 10.1的SM 4.1加入了對MSAA的直接采樣和控制。而DirectX 11包含的SM 5.0,採用面向對象的概念,並且完全可以支持雙精度數據。隨著SM 5.0的發布,微軟也會將HLSL語言更新至最新版本,其中包含了諸如動態著色、動態分支和更多的對象等。總之,面向專業開發人員的SM 5.0,依舊是以降低編程的難度和復雜為目的。

為了解決Shader靈活性與彈性不足的問題,微軟在HLSL5.0中帶來解決之道。HLSL5.0提出shader子程序的概念,即允許程序員將各種小段、簡單或為個別需要而特製的shader程序鏈接起來,再根據實際需要動態調用,這樣既能夠提高硬體兼容性,同時減少「巨型shader」對寄存器空間的佔用,有效提升性能。

6,改進的紋理壓縮:



BC6紋理壓縮

精細的紋理對視覺效果的增益是顯而易見的。目前的3D游戲越來越傾向於使用更大、更為精細的紋理,但是過大的紋理嚴重佔用顯存和帶寬。由於目前紋理壓縮仍然不支持HDR圖像,因此DirectX 11提出了更為出色的紋理壓縮演算法——BC6和BC7。BC6是為HDR圖像設計的壓縮演算法,壓縮比為6∶1;而BC7是為低動態范圍紋理設計的壓縮模式,壓縮比為3∶1。兩種壓縮演算法在高壓縮比下畫質損失更少,效果更出色。

這是一幅對HDR文件的壓縮示意圖,BC6的壓縮相對於原圖來說,僅僅損失了極小的畫質,卻獲得了非常出色的效果。

紋理質量對畫面效果起著至關重要的作用。比如我們運行3D游戲時,畫面內同樣一個物體,觀察距離較遠時,紋理銳利而清晰,但當你拉近視角,近距離細看時,紋理就非常粗糙了。更不用說在某些游戲中還有類似放大鏡、望遠鏡等道具,啟用這些道具後,只能看到更為粗糙和不真實的紋理。出現這種問題,一方面是紋理壓縮率損失嚴重,細膩的紋理壓縮存放後,損失大量細節;另一方面是大紋理難以保證保證游戲運行速度和軟體體積,如果在游戲中大面積採用解析度高達4000dpi的紋理貼圖,那麼顯卡的運算資源和顯存容量很快就會告罄。因此,DirectX 11最快速和最直觀的改變就是再次改進了紋理的壓縮演算法,將紋理體積和紋理質量控制在一個相當優秀的范圍之內。

⑹ DirectX 11的特點

DX11新增了計算著色器(Compute Shader)代碼示例,在今年的NVISION大會上,微軟就透漏了這點,並通過SIGGRAPH以及GameFest 2008大會上放出的幻燈片,我們可以進行一些深入的研究。此外,DX11特性的提前放出,對於目前DX10以及DX10.1硬體用戶而言也大有裨益,因為AMD和NVIDIA可以照此提前開發適當的驅動支持。
DirectX 11的諸多特性似乎暗示我們,DirectX 11被迅速採用的時機已經成熟,特別是微軟的Windows 7發布之後,這一趨勢將會勢不可擋。而如今,HLSL(High Level Shading Language,高級渲染語言)已經完全成熟,這勢必會讓DX11在眾游戲開發者們眼裡變得更加具有吸引力,而且越來越多的人開始認識到DX10其實就是DX11的子集,這對於DirectX 11將來被快速採用也會起到促進作用。另外,DX11可以讓平行編程變得更加容易,其獨有的特性也會促進開發者們大膽的、迅速採納這種API。DirectX 11同時可以兼容Vista操作系統,所以用戶不用擔心不能升級,而Windows 7與生俱來的魅力在很大程度上也會促使Windows XP用戶們做出升級的決定,也就是說,對於開發者們而言,市場上將會有足夠大的可運行DX11的系統群體。
微軟曾許諾DirectX 10可以帶來革命性的視覺體驗以及渲染技術,但結果卻是仁者見仁,不過可以肯定的是,DirectX 11可能最終將會履行這一承諾。雖然我們現在不可能馬上就看到DirectX 11獨有的特性所帶來的效果,但是這一新版API的普及將會對刺激適時3D繪圖技術不斷提升大有裨益。
從DirectX 6到DirectX 9,微軟一直在有條不紊的使他們的編程API從一種固定的功能傳播介質以及動態的數據結構向一種豐滿的、可編程的、可進行繪圖硬體深控的環境演變。從DX9到DX10的演變可以說是一種升華:DX9的可編程性得到了進一步擴展和延伸,並在新一代硬體的作用下變得更具深度和彈性。此外,微軟還通過各種手段提升了DX10的穩定性以及靈活性。但是,DirectX 11的演變過程則有很多不同。
為了最大限度的提升可編程性,DX11寧可丟掉一些原有的結構效度。微軟將DirectX 11構建成DirectX 10/10.1的精確父集,這讓DirectX 11無形中新增了很多奇妙的潛力。特別是,DX10代碼將會變成可以選擇不去執行某些先進特性的DX11代碼,而反過來,DX11又可以在所有同等水平的硬體上運行。當然了,對於DX10而言,並不是所有的DX11特性都是可用的,但是這卻意味著開發者可在採用DX11的情況下同時針對DX10和DX11硬體進行開發,而不用考慮兩者完全分開對待:因為兩者是相同的,只不過,一個是另一個的子集功能而已。但是,如果應用某些DX11獨有特效(比如說tessellator或者compute shader)時,區分代碼路徑是非常必要的,但這完全屬於從DX10向DX11過渡過程中的益處所在。

⑺ 介紹一下DX11

微軟在CES 2008上透露,下一代API介面DirectX 11預計將在2008年底或2009年制定效果完成。當然,這並不就代表DX11就一定會在去年底今年初正式發布,在硬體方面DX10顯卡現在還未全面普及,目前,ATI剛剛發布了支持DX11的基於Cypress核心的HD5800系列顯卡,而NVIDIA才剛造出支持DX11的GT300晶元的樣品。

DirectX 11 新技術預覽:

1,Direct3D11渲染管線:
看上去,DirectX 11比DirectX 10更酷。DirectX 11的很多提升意味著更高的特性性能,而這些特性很少能在DX10中看到。DirectX 11和DirectX 10兩者最大的不同之處在於管線,可以說DirectX 11的渲染管線標志著繪圖硬體以及軟體功能革命性一步。DirectX 11加入了對Tessellation(鑲嵌)的支持。Tessellation 由外殼著色器(Hull Shader)、鑲嵌單元(tessellator)以及域著色器(Domain Shader)組成。同時還加入了計算著色器(Compute Shader),計算著色器與DX10中引入的GS不同,它並不是渲染管線的一部分,CS也是DirectX 11的重要改進之一,可以很大程度上協助開發人員彌補現實與虛幻之間的差別。
2,Tessellation鑲嵌技術:
在此之前,關於DirectX 11的報道可謂鋪天蓋地。事實上,自R600發布時,DirectX 11這個字眼才開始越來越多的出現在網路上。盡管R6xx和R7xx硬體都具有tessellator單元,但是由於tessellator屬於專有實現方案(proprietary implementation),所以R6xx和R7xx硬體是不能直接兼容DirectX 11,更何況DirectX 11採用了極其精密老練的設置過程。事實上,DX11 tessellator單元本身不具備可編程性,DX11向tessellator (TS)輸入或者從中輸出的過程是通過兩個傳統的管線階段完成的:Hull Shader (HS,外殼著色器)和Domain Shader (DS,域著色器)。
tessellator可以把一些較大的圖元(primitive)分成很多更小的圖元,並將這些小圖元組合到一起,形成一種有序的幾何圖形,這種幾何圖形更復雜,當然也更接近現實。這個過程也被稱作細分曲面(Subdivision Surfaces)。舉例來說,tessellator可以讓一個立方體,通過處理看起來像是個球形,這樣的話無疑節省了空間。此外,圖形的質量、性能以及可控性也達到了一定的促進。
Hull Shader負責接收一種由全四邊形網格(quad mash)計算得到的圖元數據(稱作patches),並計算控制點(control points)的各種變換以及輸入的圖元各個邊的鑲嵌配置(tessellation factors),從而進行鑲嵌。其中Control points用來定義想要得到的圖形(比如說一個曲面或者其他)的圖形參數。如果您經常用Photoshop繪圖軟體的話,不妨把Control points理解為PS的鋼筆工具:用平面代替線的貝塞爾曲線功能。Hull Shader採用control points來決定如何安排tessellator處理數據,利用Tessellator生成大批量的新的圖元,然後將這些圖元以及控制點傳送給 Domain Shader,Domain Shader將這些數據計算轉換成3D處理中的頂點,最後GPU生成曲線以及多邊形。
3,多線程的支持:由於DX11所新增的特性甚至可以應用到DX10硬體中,所以我們對於DX11的快速應用都非常期待和樂觀。DX11特性還包括很重要一點:支持多線程(multi-threading)。沒錯,無論是DX10還是DX11,所有的色彩信息最終都將被光柵化並顯示在電腦顯示屏上(無論是通過線性的方式還是同步的),但是DX11新增了對多線程技術的支持,得益於此,應用程序可以同步創造有用資源或者管理狀態,並從所有專用線程中發送提取命令,這樣做無疑效率更高。DX11的這種多線程技術可能並不能加速繪圖的子系統(特別是當我們的GPU資源受限時),但是這樣卻可以提升線程啟動游戲的效率,並且可以利用台式CPU核心數量不斷提高所帶來的潛力。
對於場景中的人像和三個鏡像,DX11會啟動四個單獨線程進行並行處理,效率自然要比現在依次進行的做法高很多。
搭載8顆以及16顆邏輯核心的CPU系統已經離我們越來越近,現在游戲開發商們也該趕緊行動起來了,是時候解決有些游戲在雙核心系統中運行緩慢的問題了。但是開發一款能夠很大程度上促進雙核以上系統普及的游戲,所能夠獲得的利潤以及需要的付出目前來講還很不樂觀,所以這一進程進展緩慢。對於大多數游戲而言,充分利用四核心以及超過四核心的多線程優勢還非常困難。盡管如此,通過多線程技術讓簡單的平行運算資源產生並顯示出來,確實為採用平行運算代碼的游戲提供了走紅的機會,這些游戲代碼也可以以單線程編碼的方式存在。由於DX11系統中並不是採用一條線程處理所有DX state change以及draw call(或者說大量同步線程共同負責某一任務)的方式,所以游戲開發者可以很自然的創造出線程處理某個場景的某一類或者某一群的客體對象,並為將來所有客體對象或者實體為各自的線程處理打下基礎(如果邏輯核心最終達到數百顆之後,這種線程處理方式對於提取硬體性能尤為重要)。
此外,DX10硬體也能夠在運行DX11游戲時支持多線程,微軟的這一計劃相當令人興奮,不過值得一提的是,AMD以及NVIDIA必須為各自的DX10硬體開發出相應的驅動軟體才能達到這一效果(因為如果沒有相應的驅動支持的話,DX10硬體即便可以運行DX11游戲,對於玩家而言並不會看到真正應有的效果)。當然了,我們希望NVIDIA,特別是AMD(因為他同時也是一家可以生產多核心 CPU的廠商)能夠對此感興趣。而且,如果A/N這么做到話,無疑會為游戲開發商們開發DX11游戲提供誘因,即便是A/N的DX11硬體還在襁褓之中。
4,計算著色器Compute Shader:
很多游戲開發者都對DX11新增的Compute Shader(通常簡稱為CS)特性嘖嘖稱贊。CS的這一渲染管線能夠進行更多的通用目的運算。我們既能在某種可以用來被執行數據的操作中看到這種特性,又能在某種可以用來操作的數據中看到這種特性。
在DirectX11以及CS的幫助下,游戲開發者便可以使用更為復雜的數據結構,並在這些數據結構中運行更多的通用演算法。與其他完整的可編程的DX10和DX11管線階段一樣,CS將會共享一套物質資源(也就是著色處理器)。
相應的硬體需要在運行CS代碼時更靈活些,這些CS代碼必須支持隨機讀寫、不規則列陣(而不是簡單的流體或者固定大小的2D列陣)、多重輸出、可根據程序員的需要直接調用個別或多線程的應用、32k大小的共享寄存空間和線程組管理系統、原子數據指令集、同步建構以及可執行無序IO運算的能力。
與此同時,CS也將會隨之失去一些特性。因為單個線程已經不再被看成是一個像素,所以線程將會喪失幾何集合功能。這就意味著,盡管CS程序依然可以利用紋理取樣功能,但是自動三線LOD過濾計算將會喪失自動功能(LOD必須被指定)。此外,一些並不重要的普通數據的深度剔除(depth culling)、反鋸齒(anti-aliasing)、alpha混合(alpha blending)以及其他運算不能在一個CS程序中被執行。
除了某些特殊應用的渲染,游戲開發者可能同時也希望做一些諸如IK(inverse kinematics,反向運動學)、物理、人工智慧以及其他在GPU上執行的傳統的CPU任務之類的運算。用CS演算法在GPU上執行這些數據意味著這些數據將會更快的被渲染,而且一些演算法可能在GPU上的執行速度更快。如果某些總是產生同樣結果的演算法既可以出現在CPU上又可以出現在GPU上的話,諸如 AI以及物理等運算甚至可以同時在CPU和GPU上運行(這種運算實際上也可以代替帶寬)。
即便是這些運算代碼在相同的硬體(CPU或者GPU)上運行,PS以及CS代碼的執行也是兩個截然不同的過程,這主要取決於被執行的演算法。有趣的是,暴露數據以及柱狀數據經常被用作HDR渲染。用PS代碼計算這些數據的話就需要幾條通道和幾種技巧,以便提取所有像素,從而集中或者平分這些數據。盡管共享數據將會或多或少的減緩處理速度,但是共享數據的方式要比在多通道中計算速度更快,而且這樣可以使CS成為這些演算法的理想處理階段。
5,Shader Model 5.0:
DirectX 10的Shader Model 4.0(Shader Model以下簡稱「SM」)帶來了整數運算和位運算的功能,DirectX 10.1的SM 4.1加入了對MSAA的直接采樣和控制。而DirectX 11包含的SM 5.0,採用面向對象的概念,並且完全可以支持雙精度數據。隨著SM 5.0的發布,微軟也會將HLSL語言更新至最新版本,其中包含了諸如動態著色、動態分支和更多的對象等。總之,面向專業開發人員的SM 5.0,依舊是以降低編程的難度和復雜為目的。
為了解決Shader靈活性與彈性不足的問題,微軟在HLSL5.0中帶來解決之道。 HLSL5.0提出shader子程序的概念,即允許程序員將各種小段、簡單或為個別需要而特製的shader程序鏈接起來,再根據實際需要動態調用,這樣既能夠提高硬體兼容性,同時減少「巨型shader」對寄存器空間的佔用,有效提升性能。
6,改進的紋理壓縮:精細的紋理對視覺效果的增益是顯而易見的。目前的3D游戲越來越傾向於使用更大、更為精細的紋理,但是過大的紋理嚴重佔用顯存和帶寬。由於目前紋理壓縮仍然不支持HDR圖像,因此DirectX 11提出了更為出色的紋理壓縮演算法——BC6和BC7。BC6是為HDR圖像設計的壓縮演算法,壓縮比為6∶1;而BC7是為低動態范圍紋理設計的壓縮模式,壓縮比為3∶1。兩種壓縮演算法在高壓縮比下畫質損失更少,效果更出色。

⑻ dx11是什麼

DirectX,(Direct eXtension,簡稱DX)是由微軟公司創建的多媒體編程介面。由C++編程語言實現,遵循COM。被廣泛使用於Microsoft Windows、Microsoft XBOX、Microsoft XBOX 360和Microsoft XBOX ONE電子游戲開發,並且只能支持這些平台。
DX11是DirectX的版本號,目前版本號應該為DX11.2,比如在2004年左右的時間,市面上的PC游戲大多使用DirectX8-9進行開發,然後現在比較火的游戲比如《戰地4》的PC版就是用DX11開發的游戲,很多人會把DX看做一個圖形庫,其實不然,DX中含有許多包括音頻,鍵盤滑鼠輸入及控制支持的API,當然,DX最強大的地方或者說是最被人認知的部分應該是圖形方面。

⑼ 什麼是DX11幹嘛用的

DX11主要用途是3D圖形庫,也包含2D和聲音等,主要是為了更好的利用顯卡資源創建3D應用,最多的就是游戲了,一些動畫製作,3D模型製作軟體等也會依賴於DX11,DX11為游戲效果做了很多基礎的准備,游戲引擎要依靠DX11來製作3D效果。這是微軟的圖形編程介面,也形成了一個標准,顯卡硬體符合這個標准則能更好的發揮作用,使軟體與硬體之間更加高效的運作。 更多部分參考網路就可以了:http://ke..com/view/15762.htm

閱讀全文

與dx11游戲編程入門相關的資料

熱點內容
華為伺服器如何進陣列卡配置 瀏覽:433
apache伺服器ip地址訪問 瀏覽:716
如何買到安卓手機預裝軟體 瀏覽:535
冤罪百度雲不要壓縮 瀏覽:83
蘇州雲存儲伺服器 瀏覽:173
解壓收納原聲 瀏覽:384
java注冊驗證 瀏覽:372
火花app怎麼上推薦 瀏覽:980
什麼app能游戲投屏到電視上 瀏覽:455
伺服器託管到雲端是什麼意思 瀏覽:835
app保存草稿怎麼用 瀏覽:808
安卓如何進入proumb 瀏覽:144
主機虛擬雲伺服器 瀏覽:619
刪除分區加密的空間會不會恢復 瀏覽:706
京東app客戶上門怎麼看搜索量 瀏覽:741
怎麼在農行app購買黃金 瀏覽:46
c型開發板和單片機 瀏覽:146
虛擬機建立用戶的模板文件夾 瀏覽:904
無錫代碼編程培訓班 瀏覽:632
eps圖形數據加密 瀏覽:933