由微軟公司所制定的3D規格界面,與Windows 95和Windows NT作業系統兼容性好,可繞過圖形顯示接口(GDI)直接進行支持該API的各種硬體的底層操作,大大提高了遊戲的運行速度。
基本介紹
- 外文名:Direct3D
- 本質:3D規格界面
- 基礎:微軟的通用對象模式
- 開發:微軟
- 套用:多媒體、娛樂、即時3D動畫
- 平台:Windows作業系統
簡介
- HAL(hardware abstraction layer):使硬體加速。
- reference:應用程式請求一個reference設備。
- null reference:當系統沒有裝SDK,但是應用程式請求一個reference設備的時候,它就返回一個null reference。
- 可插拔的軟體(Pluggable software);設備通過RegisterDevice設備方法提供。
- Type:資源的類型,如頂點緩衝區(vexert buffer),或一個渲染目標(render target)。
- Usage:資源的用途,如紋理(texture)或渲染目標,是一系統的旗標所組成,每個旗標占1 bits。
- Format:數據的格式,如一個二維表面的像素格式。例如,D3DFMT_R8G8B8的值是一個24 bits的顏色深度(colour depth,8 bits是紅色,8 bits綠色以及8 bits是藍色)。
- Pool:資源所分配的內部存儲器空間類型。
Pipeline
- Input Assembler:從程式里讀取vertex data並將程式提供的vertex buffer倒進pipeline.
- 頂點著色引擎(Vertex Shader): Performs operations on a single vertex at a time,像是transformations, skinning,或lighting.
- 幾何著色器(Geometry Shader): Shader Model 4.0引進了幾何著色器,使用Shader資源來處理點、線、面的幾何坐標變換,一次最多處理六個點,快速地將模型類似的頂點結合起來進行運算。此一過程無需CPU參與。
- Stream Output:將Vertex Shader和Pixel Shader處理完成的數據輸出給用戶。
- Rasterizer: Converts primitives into pixels,再將像素(pixels)輸出給pixel shader. The Rasterizer亦可運行其他工作,像是切割非視覺性的像素,or interpolating vertex data into per-pixel data.
- 像素著色引擎(Pixel Shader):決定最後的像素顏色(pixel colour)to be written to the render target and can also calculate a depth value to be written to the depth buffer.
- Output Merger:接收來自於pixel shader的slice,進行傳統的Stencil測試和Depth測試,整並各種不同的輸出數據,用以創建最後之結果。
顯示模式
- 全螢幕模式(Fullscreen mode):全螢幕是指畫面全部被Direct3D所占據,不會再顯示其他的視窗畫面。目前市面上發展的遊戲軟體多採用此模式。
- 視窗模式(Windowed mode):視窗模式是指可以有多個視窗同時出現在螢幕上。
歷史
Direct3D 10
- 全新的graphics pipeline:
- fixed pipeline皆改成programmable的shader,
- 增加geometry shader、stream out,
- culling、cliping、blending等stage合為output merger stage
Direct3D 10.1
Direct3D 11
- 鑲嵌(Tessellation, 即曲面細分)
- 多執行緒渲染(Multithread Render)
Direct3D 與 Windows Vista
示例
注釋
- ^Direct3D Resources -Memory pool.
- ^Direct3D 9.0 pipeline diagram.
- ^Direct3D 10 pipeline stages.
- ^Direct3D 7 introduces DirectDraw Surface (.dds) format.
- ^HLSL in Direct3D 9.0.
- ^Microsoft Presents DirectX 10.1 Details at SIGGRAPH. 2007-08-07[2007-08-27].
- ^DirectX SDK: Direct3D 10.1 Features.
參見
外部連結
- DirectX website
- DirectX 10: The Future of PC GamingTechnical article discussing the new features of DirectX 10 and their impact on computer games
顯示▼隱藏▲
圖形接口 桌面視窗管理器·DirectX·Direct3D·GDI·WPF·Windows色彩系統·Windows Image Acquisition·Windows Imaging Component 音樂與音效 DirectSound·DirectMusic·DirectX外掛·XACT·Speech API 多媒體 DirectShow·DirectX Media Objects·DirectX Video Acceleration·Windows Media·Media Foundation·Image Mastering API·Video for Windows Web MSHTML·微軟XML剖析器·RSS Platform·JScript·VBScript·瀏覽器協助工具對象·XMLHTTP·SideBar小工具·TypeScript 數據訪問 數據訪問組件集·延伸存儲引擎·(Entity Framework) ·WCF Data Services·Microsoft Sync Framework·Jet資料庫引擎·OLE DB 網路 Winsock(LSP) ·Winsock Kernel·Filtering Platform·網路驅動程式接口規格(NDIS)·Windows Rally·智慧型型背景傳輸服務·Windows Vista 對等通信 API·Active Directory Service Interface 通信 信息 API·電話 API 管理 Win32 console·Windows Script Host·WMI·Windows PowerShell·工作調度程式·Offline Files·Shadow Copy·Windows Installer·Windows錯誤回報·事件記錄器·Common Log File System 組件與模型 COM·COM+·ActiveX·Distributed COM·.NET Framework 庫 MFC·ATL·WTL 驅動程式開發 Windows Driver Model(Broadcast Driver Architecture) ·Windows Driver Foundation(KMDF·UMDF) 安全性 Crypto API(CAPICOM) ·Windows CardSpace·Data Protection API·Security Support Provider Interface .NET .NET Framework·AJAX·Remoting·WPF·WF·WCF·Windows CardSpace·XNA·Silverlight·Task Parallel Library 軟體工廠 EFx Factory·Enterprise Library·複合用戶界面·CCF·CSF 進程間通信 MSRPC·具名管道·記憶體映射檔·動態數據交換·MailSlot 可協助性 Active Accessibility·用戶界面自動化 文字與多語系支持 Text Services Framework·Text Object Model·輸入法編輯器·語言接口包·多語系用戶界面·Uniscribe 遊戲開發 Direct3D·D3DX·DirectSound·DirectInput·DirectPlay·DirectMusic·Managed DirectX·Microsoft XNA |