跳至內容
主選單
主選單
移至側邊欄
隱藏
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
Taiwan Tongues 台語維基
搜尋
搜尋
外觀
建立帳號
登入
個人工具
建立帳號
登入
檢視 Direct三D 的原始碼
頁面
討論
臺灣正體
閱讀
檢視原始碼
檢視歷史
工具
工具
移至側邊欄
隱藏
操作
閱讀
檢視原始碼
檢視歷史
一般
連結至此的頁面
相關變更
特殊頁面
頁面資訊
外觀
移至側邊欄
隱藏
←
Direct三D
由於以下原因,您無權編輯此頁面:
您請求的操作只有這些群組的使用者能使用:
使用者
、taigi-reviewer、apibot
您可以檢視並複製此頁面的原始碼。
'''Direct 三 D'''(簡稱:'''D 三 D''')是微軟公司佇咧 Microsoft Windows 作業系統頂頭所開發的一套三 D 繪圖編程介面,是 DirectX 的一部份,目前廣為逐家顯示卡所支援。佮 OpenGL 同為電腦繪圖軟體佮電腦遊戲上捷使用的兩套繪圖編程介面之一。 一九九五年二月,軟軟仔收購了英國這个 Rendermorphics 公司,將 RealityLab 二鋪零技術發展成 Direct 三 D 標準,並整合甲講 Microsoft Windows 中,Direct 三 D 佇咧 DirectX 三允人零開始出現。後來佇咧 DirectX 八○零發表的時陣佮 DirectDraw 編程介面合併並改名做 DirectX Graphics。 ==架構== Direct 三 D 佮 Windows GDI 是仝層級組件。Direct 三 D 裝置有兩種無仝款的操作模式:windowed 和 exclusive。佇咧 windowed 模式下,著愛使用 back buffer。佇咧 Exclusive 模式下,Direct 三 D 直接呼叫顯示卡驅動程式,袂過得 GDI。 Direct 三 D 的抽象概念包括:devices , swap chains 和 resources。 有四項 device type,D 三 DDEVTYPE 定義矣裝置類型。 * HAL(hardware abstraction layer): 使硬體加速。 * reference:應用程式請求一个 reference 裝置。 * null reference:當系統無裝 SDK,但是應用程式請求一个 reference 裝置的時陣,伊就倒轉來一个 null reference。 * 會當插的軟體(Pluggable software); 裝置通過 RegisterDevice 裝置的方法提供。 每一个裝置至少愛有一个 swap chain . 一个 swap chain 會當來產生一个抑是偌个 back buffer surfaces。彩現目標(render target)嘛是啦 back buffer surface。back buffer 是屬於彩現(render)的部份。所有的 back buffer 攏是合理的 render target,但是並毋是所有的 render target 攏是 back buffer。surface 是一種資源,包含一个矩形集合的像素資料,如 color , alpha , depth / stencil。 資源有四个屬性: * Type:資源的類型,如頂點來緩衝區(vexert buffer), 抑是一个彩現目標(render target)。 * Usage:資源的用途,如紋理(texture)抑是彩現目標,是一系統的旗標所組成,逐个旗標佔一 bits。 * Format:資料的格式,如一个二維表面的像素格式。比如講,D 三 DFMT \ _ R 八 G 八 B 八的值是一个二十四 bits 的色水深度(colour depth,八 bits 是紅色,八 bits 綠色以及八 bits 是藍色)。 * Pool:資源所分配的內部記憶體空間類型。 ==管道== Direct 三 D 十 API 定義矣 vertices(頂點), textures(紋理), buffers(緩衝區), 以及 state 群組轉換到螢幕頂懸的流程。按呢的流程會當描述做是 rendering pipeline(彩現管線), 其中有著濟濟無仝的階段 . Direct 三 D 十彩現管線的各階段包括:are : 一 . 輸入組裝('''Input Assembler'''): 佇程式內底讀到上點,閣將程式提供的資料裝入去管線。 二 . 上點著色 ia̋n-jín(Vertex Shader): 逐改處理一个頂點,比如講換換、貼圖、光照。 三 . 幾何著色器(Geometry Shader): Shader Model 四配零引進幾何著色器,使用 Shader 資源來處理點、線、面的幾何坐標變換,一改上濟處理六个點,快速地將模型類似的頂點結合起來進行運算。此一過程無需要 CPU 參與喔。 四 . 流輸出('''Stream Output'''): 將 Vertex Shader 和 Pixel Shader 處理完成的資料輸出予使用者。 五 . 光柵化('''Rasterizer'''): 共彼算完的頂點共轉做像素,閣共像素(pixels)輸出予 pixel shader . 遮也會當執行其他的工課,像講切割非視覺性的像素,抑是講對頂點進行插值以得著像素資料。 六 . 像素著色 ia̋n-jín(Pixel Shader): 決定最後欲往彩現目標(render targe)寫入去的像素色水,仝時陣嘛會當計算一个準備寫著深度緩衝區的深度值。 七 . 輸出混合('''Output Merger'''): 接收是對 pixel shader 的 slice,傳統咧做 Stencil 測試佮 Depth 測試,整併各種無仝的輸出資料,用以建立上尾仔結果。 ==顯示模式== Direct 三 D 有兩種 display modes : * 全螢幕模式(Fullscreen mode): 全螢幕是指畫面全部予 Direct 三 D 所占,袂閣顯示講其他的視窗畫面。目前市面上發展的遊戲軟體加採用此模式。 * 視窗模式(Windowed mode): 視窗模式是講會當有偌看窗仔同時出現佇螢幕頂懸。 ==歷史== 一九九二年,Servan Keondjian 開創 RenderMorphics 公司,成立了一个 Reality Lab 實驗室,專事三 D 圖形技術佮 API 技術研究。有兩種版本的 API 被釋出。一九九五年二月微軟仔買落來 RenderMorphics,由 Keondjian 佇咧 Windows 九十五上開發三 D 圖形 ia̋n-jín,主持 Direct 三 D 專案的開發。 Window 九十五推出的時,微軟一口氣發表矣'''DirectX 一垺零'''、'''DirectX 二孵空'''和'''DirectX 三-c零'''。DirectX 一孵空推出的時陣,干焦包括 DirectDraw、DirectPlay、DirectInput、DirectSound 四部份,DirectX 二孵空內附了 Direct 三 D,但是功能有限,無法度佮 OpenGL、三 dfx 等 API 函式相提並論。一九九六年九月發布的 Direct 三更零予人認為是 DirectX 的頭一套完整版本。無偌久,DirectX 三允空更新三允空 a、三-c零 b,版號對四堵空四 . 空九空空六八增加到矣「四配空四 . 空空空六九」,干焦是附加一个予人叫做 Direct 三 D 的組件,這正正就是 Keondjian 的傑作。彼陣的 Direct 三 D 有兩種模式,一是 Retain 模式,另外一个是 Immediate 模式,攏以 COM 建構成就。一九九六年 Westwood 工作室發布以 DirectX 開發的即時戰略遊戲《紅色警戒》,大賣千兩萬套。 '''DirectX 四配零'''並無推出就有'''DirectX 五曉空'''。一九九七年六月推出 DirectX 五曉空,加入 DrawPrimitive API,加入矣著 MMX 的支援,無偌久軟勢閣推出支援 D 三 D 加速卡的 DirectX 五曉空 a 版佮五配一版、五孵二版。 '''Direct 三 D 六板零''',一九九八年秋微軟推出,引進偌重的貼圖(multitxture)以及 stencil buffer '''Direct 三 D 七鼗零'''引進硬體座標轉換以及光影計算(Hardware Transform and Lighting), 並支援 . dds 檔。 '''Direct 三 D 八○零'''是引進會當做管道(Programable Function Pipeline)的概念,Direct 三 D 佇咧八堵空版的較早干焦會當做工課佇咧固定的管道(Fixed Function Pipe-line)的模式下。二空空一年微軟正式發表的 Direct 三 D 八摃零支援處理頂點的 Vertex Shader,猶閣有處理像素的 Pixel Shader。使 Direct 三 D 的技術正式超過敵人 OpenGL。DirectX 八中的著色器是用低坎著色器語言(Low Level Shading Language)編寫的。 '''Direct 三 D 九九零'''使用 HLSL(全稱 High Level Shading Language)編寫 Vertex Shader 和 Pixel Shader,對色器的編寫佮所產生程式碼的效率來,並且大幅地縮短設計時間。Windows Vista 推出 DirectX 的兩種新的類型:Direct 三 D 九 Ex 和 Direct 三 D 十。Direct 三 D 九 Ex 是 DirectX 九的擴充版,除了 Direct 三 D 九外,閣增加矣 Windows Vista driver 部份新功能的應用程式設計的。Direct 三 D 九 Ex 和 Direct 三 D 十均構建於 WDDM 之上。只有透過 WDDM 才會當佇 Vista 最使用 Direct 三 D。 ==Direct 三 D 十== Direct 三 D 十相對 Direct 三 D 九大量的代碼重新來編寫,Direct 三 D 十著眼佇高階繪圖程式,所有 render 攏愛寫 shader。但本質的功能並無真大的改變,干焦會當算講是對舊 XP 時代的問題重新閣較正,提供閣較懸的可程式化佮資源運用,以適合 Vista 使用。 Direct 三 D 十新特色: * 全新的 graphics pipeline: * fixed pipeline 攏改做 programmable 的 shader, * 加添 geometry shader、stream out, * culling、cliping、blending 等 stage 合為 output merger stage * 新的 resource type : constant buffer、texture array。Texture array 可容真濟五百十二个 Texture。 * resource 引進 view 的概念 * guaranteed feature set * GPU 呈現濟工(multitasking) ==Direct 三 D 十曉一== Direct 三 D 十曉一是 Direct 三 D 十摃零的小型的閣較新,二空空七年八月微軟釋出 Direct 三 D 十配一佮 Shader Model 四配一的測試版本。Direct 三 D 十二一規定幾个閣較濟圖像品質標準為圖表供營商,予開發商對圖像品質(image quality)的閣較濟控制。XAudio 二將取代 DirectSound,成做上新的跨平台音訊 API。 ==Direct 三 D 十一== Direct 三 D 十一隻構 Direct 三 D 十的基礎之上,但是佮招於 Direct 三 D 十支援 Vista 作業系統,Direct 三 D 十一閣較會當支援 Windows 七及 Windows Vista。Direct 三 D 十一新增以下的功能: * 鞏Festival(Tessellation , 即曲面幼分) * 加執行緒彩現(Multithread Render) * 算著色器(Compute Shader): 支援 GPGPU,提供新版 HLSL 語言,佮 nVidia 的 CUDA 抑是 OpenCL 功能類似。 其他閣有物件導向化的 Shader Model 五等功能。進前 DirectX 十猶是單執行緒,檔案存取佮繪圖指令共享仝一个執行緒,容易造成畫面沓沓仔的現象,佮 DirectX 十相比,Direct 三 D 十一有了閣較好的解決方案。 DirectX十一的 pipeline 新增 Hull Shader、Tessellator、Domain Shader 來實現 tessellation , 會當快速予成做三 D 的小三角型快速增加。至於 Computer Shader 著著 GPGPU 的實現,以 GPU 的平行處理能力佮浮點運算能力來實現 CPU 的運算,會當同時支援 ATI 以及 Nvidia 的顯示卡,無受繪圖流程的限制。DirectX 十一閣支援 Intel 的支援 Ray Tracing(光線佮蹤)佮 Rasterization(光柵化)技術,使三 D 效果閣較真實,閣較逼真。 以 Direct 三 D 開發三 D 圖形程式,會使採用 COM inteface,嘛會使採用 . NET Framework 的方式,WPF 可以用 Direct 三 D 九佮 GPU。Direct 三 D 十一技術是 DX 十曉一的超集,支援 DX 十一孵空、DX 十 . 十分之一 . 零、DX 九 . 九分之三 . 九分之二 . 一等。 Windows 七 Desktop Windows Manager 就會支援 Direct 三 D 十曉一 API。會當顯示卡帶闊的佔用率降低大約是五十。DirectX 十一會當向下相容佇咧 DirectX 十的顯示卡,同時嘛會當予逐家佇 Windows 七佮 Vista 上執行。 ==Direct 三 D 十二== ==Direct 三 D 佮 Windows Vista== Vista 引入來 DirectX 的兩種新的類型:Direct 三 D 九 Ex 和 Direct 三 D 十。DirectX 十字愛真適用 Windows Vista,針對 Windows Vista 進行了全新構建,構建於 Vista 顯示器驅動程式模型 ( WDDM ) 之上,閣引入新的硬體模式、繪圖管線佮彩現特性,予開發人員閣較倚硬體。一寡因為遊戲需要 SM 二孵空,Vista 將使用 SM 二嬸空來彩現桌面。 ==範例== 用 Direct 三 D 九畫三角形: 用 Direct 三 D 十一畫三角形: ==注釋== ==參見== * Wing * OpenGL * HLSL * WDDM ==外部連結== * DirectX website * DirectX 十 : The Future of PC Gaming Technical article discussing the new features of DirectX 十 and their impact on computer games [[分類: 待校正]]
返回到「
Direct三D
」。