當前位置:編程學習大全網 - 編程語言 - DX8.1是什麽意思?

DX8.1是什麽意思?

DX8.1是DirecetX8.1的縮寫

DirectX 8.0 簡介

歡迎關註 Driving DirectX。在本月的欄目中,我們將開始探索 Microsoft? DirectX? 8.0。首先,我們將概括介紹這個新版本為開發人員提供的所有精彩特性。您可以在 DirectX 開發人員中心(英文)找到 DirectX 8.0 運行時和 SDK 的下載鏈接。有些人說,在相當長壹段時間內,這將是最強大的 DirectX 版本。下面的新特性列表為這壹說法提供了證明。

前言

DirectX 8.0 的每個組件都包括了重要的新特性,它們極大地增強了 DirectX 的功能。圖形、音頻和網絡三個組件被徹底重寫。DirectInput? 包括了新的配置功能、操作映射和更好的國際化支持。DirectShow? 第壹次作為 DirectX 的壹部分出現在運行時和 SDK 中。

簡而言之,DirectX 8.0 提供的新特性包括:

DirectX Graphics——集成 DirectDraw 和 Direct3D

Microsoft DirectDraw? 和 Microsoft Direct3D? 並入了 DirectX Graphics 組件。API 已經進行了大幅度更新,現在更容易使用,並且支持最新的圖形硬件。最引人註目的新特性是支持可編程著色器(著色器是用著色語言編寫的壹段代碼,著色語言是專為在可編程頂點流水線或可編程像素流水線中使用而設計的)。

DirectX Audio——集成 DirectMusic 和 DirectSound

Microsoft DirectMusic? 和 Microsoft DirectSound? 現在緊密集成到新的 DirectX Audio 組件中。WAV 文件或其他資源現在可以由 DirectMusic 加載器加載,通過 DirectMusic 演奏器進行播放,並用 MIDI 音響進行同步。

DirectPlay 可伸縮性和性能更佳

Microsoft DirectPlay? 組件進行了大幅度更新,其易用性和功能均得到改進,在可伸縮性和性能方面尤為顯著。此外,DirectPlay 現在還支持玩家之間的語音通訊。

DirectInput 中的操作映射

Microsoft DirectInput 引入了壹個重要的新特性:操作映射。通過操作映射能夠在輸入操作和輸入設備之間建立連接。您只需輸入設備處理,而不必再依賴特定的設備對象。

DirectX 中包含 DirectShow

現在 Microsoft DirectShow 是 DirectX 的壹個組成部分,在此版本中已經進行了更新。

下面按每個組件詳細地介紹這些新特性。

DirectX 8.0 Graphics

DirectX 8.0 Microsoft Direct3D? API 接口中加入了許多新特性,許多原有性能也得以增強。

DirectDraw 和 Direct3D 完整集成

可編程頂點處理語言

可編程像素處理語言

多重采樣渲染支持

點對象

三維立體紋理

更高階的圖元支持

針對各種 D3D 的三維內容創建工具支持

帶索引的頂點混色

擴展的 Direct3DX 工具庫

DirectX Graphics 的壹個最顯著的變化是將 DirectDraw(二維圖形接口)和 Direct3D(三維圖形接口)合並為壹個公用接口。迄今為止的很長壹段時間內,DirectDraw 和 Direct3D 壹直相互交叉,因此,將它們劃分為兩個獨立的接口越來越不適應發展。新的集成簡化了 Direct3D 核心的初始化和控制,使這些操作更加簡單。這種變化不僅簡化了應用程序的初始化,而且改進了數據分配和管理的性能,從而減少了內存的占用。合並接口的另壹個原因是 DirectDraw 的開發幾乎完全停止了,在 DirectX 6.0 和 DirectX 7.0 中對它所作的修改僅僅是稍作美化。

圖形 API 的集成還啟用了並行頂點輸入流,使動態應用數據結構的映射更加靈活。

可編程著色器的加入可以說是 DirectX 8.0 中 Direct3D 更新的最顯著特性。語言的擴充性非常好——考慮到未來幾年內圖形硬件方面將湧現大量新特性,我們對著色語言所進行的小小補充將會獲得數倍的回報。著色語言是同時為頂點處理和像素處理提供的。

可編程頂點處理語言使程序員可為下列情況編寫硬件著色器:

變形/過渡動畫

定義矩陣調色板外觀

用戶定義的光照模型

壹般的環境貼圖

過程性幾何圖形

任何其他開發人員定義的算法

可編程像素處理語言使程序員可為下列情況編寫自定義的硬件著色器:

壹般的紋理合並表達式

按像素光照(凹凸貼圖)

按像素環境貼圖(用於照片級真實效果)

其他開發人員定義的算法

請註意,為頂點和像素操作而添加的著色語言與用在頂點流水線中的變換和光照以及用在像素流水線中的多重紋理等“舊”方法同時存在。圖 2 說明了 DirectX 8.0 圖形流水線。

圖 2:DirectX 8.0 圖形流水線對新舊方法的支持

另外壹些精彩特性使得實現各種特殊效果更加簡單。多重采樣渲染支持可以實現全方位的反走樣和多重采樣效果,例如動態柔化和景深。點對象支持可以實現閃爍、爆炸、下雨、下雪等微粒系統的高性能渲染。立體紋理可在按像素光照和立體模糊效果中實現區域衰減,並可以應用到更復雜的幾何圖形中。

更高階的圖元支持改善了三維內容的外觀,用主流三維創作工具創建的內容的映射也更為簡單。另外,DirectX 8.0 Graphics 還包括三維內容創建工具插件,可將外觀網格導出到 .X 文件,以便以後在 Direct3D(使用各種 Direct3D 技術)、多重精度級別細節 (LOD) 幾何圖形和更高階曲面數據中使用。帶索引的頂點混色擴展了幾何圖形混色支持,這樣,用於頂點混色的矩陣就能夠通過矩陣索引來引用。

Direct3DX (D3DX) 工具庫中添加了大量功能,在 Direct3D 之上構造的幫助器層簡化了三維圖形開發人員所遇到的常見任務。D3DX 現在包括“定義外觀”庫(支持使用網格)以及用於裝配頂點和像素著色器的功能。請註意,原來由 D3D_OVERLOADS 提供的功能現在已經移到 D3DX 工具庫中。(D3D_OVERLOADS 在 Microsoft DirectX 5.0 中首次引入。)

DirectX Audio

Microsoft DirectX 8.0 Audio 為播放集成的音樂和聲音效果提供了新的體系結構。盡管仍然使用名稱 Microsoft DirectSound 和 Microsoft DirectMusic,但在它們之間已經沒有明顯的區別。希望將來 DirectMusic API 能夠成為創建交互式聲音效果的首選 API。

DirectX 8.0 Audio 的部分新特性包括:

.wav 文件和基於消息的聲音集成在壹個播放機制中

音頻通道模型更加靈活、強大,其中包括對段落狀態進行個別控制

DLS2 合成,包括特殊效果

音頻腳本編寫

容器對象,用於在單個文件中保存 DirectMusic Producer 工程的所有組件

對演奏、段落和聲道的更強大的控制

新的音頻體系結構將 DirectMusic 合成器作為主要的 DirectX 8.0 Audio 聲音生成器。這壹高度優化的可下載聲音級別 2 (DLS2) 合成器可以創建所有的聲音,對它們進行混音,並將結果發送到 DirectSound 緩存,以便進行進壹步的處理。DirectMusic 合成器也可以在輸出之前將多個獨立的聲音進行混音。這樣,多個獨立的聲音可以通過同壹種音頻效果進行處理,並分配到三維空間中的同壹個位置。它們只使用壹個 DirectSound3D 緩存,將 CPU 的使用和對三維硬件的要求降至最低。請參閱圖 3,以了解新的音頻體系結構。

圖 3:DirectX 8.0 Audio 體系結構

.wav 文件和資源現在可以通過 DirectMusic 加載器加載,並通過 DirectMusic 演奏器播放。應用程序不再需要分析 .wav 文件,並將其復制或流入 DirectSound 緩存。.wav 文件播放的定時基於 DirectMusic 主時鐘,.wav 文件可以在音樂事件發生的同時播放,並可以象其他段落壹樣通過工具處理。DirectSound API 仍然會得到支持,您仍然可以通過 DirectSound 緩存直接播放 .wav 文件。DirectSound 仍將是用於 .wav 文件捕獲和全雙工的 API。

在以前版本的 DirectMusic 中,演奏通道被映射到端口,同時每個端口將其輸出發送到壹個 DirectSound 緩存。在新的模型下,段落中的聲道被映射到音頻通道,控制數據從演奏器流向最終輸出。合成器的輸出可以發送到多個播放緩存,而每個播放緩存有自己的三維位置和效果。音頻通道由應用程序動態創建,或者設計在段落中。段落的每個播放實例都有自己的音頻通道,因此可以單獨修改每個段落狀態的音量、音質和音調等參數。

DirectMusic 合成器現在基於 DLS2 標準,能夠提供更高質量的聲音合成。DLS2 合成器的新特性包括六級封裝、語音分層、釋放波形和額外的低頻振蕩器 (LFO)。每個語音都有壹個可選的低通諧振過濾器。作為新的音頻體系結構的壹部分,DLS2 合成器可用於簡單的聲音效果播放,包括:

任意循環點

每個聲音的過濾器

混音

自動流播放

用於播放的 ACM 編解碼集成

效果處理總線

輕松加載 .wav 文件

通過使用腳本,作曲家和音效設計師可以對演奏器進行更自如的控制。應用程序不需要處理播放的細節,而代之以調用腳本。例如,壹個遊戲事件可能觸發壹個腳本函數。通過修改函數,腳本作者可以輕松地修改聲道對遊戲事件的響應。

DirectMusic Producer 工程的所有組件都可以保留在壹個文件中,查找和加載所有對象非常容易。容器也可以嵌在段落中,因此播放壹個段落所需要的所有內容都可以保存在這個段落中。

DirectX Audio 對演奏、段落和聲道的控制更加強大。演奏通知事件現在有壹個新的通知類型 DMUS_NOTIFICATION_MUSICALMOSTEND,它表示隊列中的最後壹個主段落即將結束。這樣,應用程序就有機會來計劃播放新的段落。

段落的新特性包括:作曲家可以在段落中設置點,指定從何處開始播放段落,從而維護段落與時間簽名之間的關系。主段落可以包含聯接其他段落的任意點。這些點不僅可以聯接最近的小節、節拍或網格,還可以進行更多的控制。在當前主段落完成播放時,可以播放新的段落聯接標誌 DMUS_SEGF_SEGMENTEND 指定的段落。新的 DMUS_SEG_REPEAT_INFINITE 標誌使得壹個段落可以播放無限多次。

對於聲道,新的配置和播放標記使得每次播放或循環播放某個段落時,都可以對聲道進行改寫。例如,可以配置和弦聲道,使得每次播放該段落時,都建立新的和聲進行。應用程序可以單獨設置各個聲道的配置,禁用播放和參數控制。聲道可以配置為根據時鐘時間而不是音樂時間進行操作。通過配置自控段落中的聲道,可以用它來替代主段落或控制中的參數聲道。最後,包含歌詞聲道的段落可以將時間戳記文字發送到演奏器。

限於篇幅,其他的新音頻特性在這裏不再贅述。如果您正在深入研究音頻,研究 DirectX 8 的音頻特性可能要花費您的大量時間。請參閱 SDK 中的新文檔和範例。

DirectX 8.0 DirectPlay

DirectPlay 是應用程序和通訊服務之間的高級軟件接口。有了 DirectPlay,通過 Internet、調制解調器鏈接或網絡來連接遊戲將非常簡單。DirectPlay 既提供了高級的傳輸層服務(例如,有保證或無保證的傳遞,慢速鏈接上的通訊扼殺,以及放棄連接檢測等),也提供了會話層服務(包括玩家名稱表管理和點對點主機轉移)。圖 4 顯示了 DirectPlay 體系結構,以及它如何提供與通訊服務提供程序無關的獨立性。

圖 4:DirectPlay 體系結構

下面是 Microsoft DirectPlay API for DirectX 8.0 的新特性列表:

接口已經完全重寫。

前端操作現在與 DirectPlay 的其他部分無關。

已經加入了語音傳輸。

尋址信息已經從基於 GUID 的數據格式變為基於 URL 的數據格式。

可伸縮性更強大,內存管理更完善。

對防火墻和網絡地址翻譯器 (NAT) 的支持更佳。

分離創建點對點會話和客戶端/服務器會話的接口,使創建網絡應用程序的復雜度得到了奇跡般的簡化。用於創建 DirectPlay 傳輸會話的接口包括:

IDirectPlay8Peer,提供創建點對點會話的方法

IDirectPlay8Client,提供創建客戶端/服務器應用程序的客戶端部分的方法

IDirectPlay8Server,提供創建客戶端/服務器應用程序的服務器端部分的方法

DirectPlay 不再要求前端客戶端只能與 DirectPlay 應用程序配合使用。這樣,前端服務提供程序和應用程序都可以實現 DirectPlay,而無須相互匹配。前端實施現在分為兩個簡化的接口:

IDirectPlay8LobbyClient,用於管理前端客戶端,以及計算和啟動前端識別應用程序。

IDirectPlay8LobbiedApplication,用於在系統中註冊可由前端啟動的應用程序,使它真正能由前端啟動。它也用於從前端獲取連接信息,使遊戲啟動時無需查詢用戶。

DirectPlay Voice 提供了壹組接口,用於給應用程序添加實時語音通訊。下列新接口提供了語音支持:

IDirectPlayVoiceClient 提供了在 DirectPlay Voice 會話中創建和管理客戶端的方法。

IDirectPlayVoiceServer 提供了承載和管理 DirectPlay Voice 會話的方法。

IDirectPlayVoiceTest 用於測試客戶端計算機上的音頻設置。

圖 5 顯示了使用 DirectPlay Voice 時可用的組件。

圖 5:DirectPlay Voice 組件

以前版本的 DirectPlay 通過 GUID 地址使用二進制數據塊,難以實現和讀取。在 DirectX 8.0 中,DirectPlay 引入了 URL 格式的地址表示方法,並使用壹組新的接口來創建和操作新的尋址格式:

IDirectPlay8Address 提供用於創建和操作 DirectPlay 地址的基本尋址方法。

IDirectPlay8AddressIP 提供 IP 提供程序專用的尋址服務。

就 DirectX 8.0 而言,DirectPlay 已經被徹底重寫,以便提供卓越的性能和強大的可伸縮性。用戶帶寬的增長給網絡遊戲設計和實施帶來了天翻地覆的影響。改進的 DirectPlay 線程緩沖池管理使開發人員更容易設計可變化而且更可靠的應用程序,能夠同時支持大量聯機玩家。

編寫跨越 NAT、防火墻和其他 Internet 連接***享 (ICS) 方法的網絡遊戲可能會非常困難,針對無保證 (UDP) 通訊編寫網絡遊戲尤其困難。在 DirectX 8.0 中,DirectPlay 開發時已經註意了這些問題,它將支持可能的 NAT 解決方案。DirectPlay TCP/IP 服務提供程序對遊戲數據使用單壹的、開發人員可選的 UDP 端口,從而可以適當地配置防火墻和 NAT。另外,DirectPlay 使用了 UDP,因此對於客戶端/服務器體系結構的遊戲來說,某些 NAT 後的客戶端可以直接連接到遊戲,而無須進行額外的配置。

DirectX 8.0 DirectInput

DirectInput 為遊戲桿、頭盔、多鍵鼠標以及力回饋設備等各種輸入設備提供了最先進的接口。通過直接與設備驅動程序配合,DirectInput 繞過了 Windows 消息系統,提供了最佳性能。

Microsoft DirectInput API for DirectX 版本 8.0 中新特性的列表如下:

操作映射

對國際化應用程序的支持更佳

新的接口創建支持

對遊戲桿滑塊數據的更改

操作映射是支持輸入設備方面的壹個重大進步。操作映射簡化了輸入循環,降低了遊戲中對自定義遊戲驅動程序、自定義設備分析器和自定義配置用戶接口的需要。操作映射也包括了默認的用戶接口,使用戶可以快速簡便地配置設備。這種標準 API 通過低級用戶接口 API 來實現,使應用程序可以在其自定義用戶接口中直接訪問設備映像。

DirectX 8.0 中的 DirectInput 設備支持新的屬性,這些屬性可以處理從國際化鍵盤上輸入的本地化的鍵名。***添加了兩個鍵盤屬性:DIPROP_KEYNAME,用於檢索本地化的鍵名;DIPROP_SCANCODE,用於檢索掃描碼。這些特性對於大多數在全世界發布的基於 DirectInput 的應用程序非常有用。

DirectInput 對象現在通過 IDirectInput8 接口來表示。新的幫助器函數 DirectInput8Create 可創建對象並檢索此接口。IDirectInput8 具有壹個新 CLSID,並且不能通過對 CLSID_DirectInput 類對象的接口調用 QueryInterface 來獲取,這壹點與以前的 DirectX 版本有所不同。

遊戲桿滑塊數據在以前的 DirectX 版本中分配到 DIJOYSTATE 或 DIJOYSTATE2 結構的 Z 軸,現在則位於這些結構的 rglSlider 數組中。盡管這種變化會導致對現有代碼的必要調整,但它終究更容易理解。

DirectX 8.0 DirectShow

此版本中的 DirectShow 也進行了大幅度修改。DirectX 8.0 中添加的部分新特性包括:

新的過濾圖形特性

Windows Media? 格式支持

視頻編輯支持

新的 DVD 支持

新的 MPEG-2 傳輸和程序流支持

對廣播驅動程序體系結構的支持

DirectX 媒體對象

過濾圖形管理器支持壹些新的特性,包括動態圖形生成和實時來源合成。使用動態圖形生成,您現在可以在圖形運行過程中對過濾圖形進行修改。而以前,要添加或刪除過濾器,應用程序必須停止該圖形,因而打斷數據流。DirectShow 現在還支持實時來源合成——例如,可以將實時音頻流與實時視頻流合成。

兩個新的過濾器使 DirectShow 應用程序可以讀取或寫入 Microsoft Windows Media 格式的文件。ASF Reader 過濾器用於讀取和分析 Windows Media 格式的文件;ASF File Writer 過濾器用於寫入 Windows Media 格式的文件,並能夠執行必要的復合和壓縮操作。DirectShow 和 Windows Media SDK 現在提供了完整的解決方案,用於編寫應用程序來創建和播放 Windows Media 格式流。

新的 DirectShow 編輯服務 (DES) API 支持視頻編輯。DES 建立在核心的 DirectShow 體系結構之上,提供了壹組專門為操作視頻編輯工程而設計的接口。DirectShow 的框架更適合於創建視頻編輯應用程序,作為應用程序開發人員,您將從中獲益匪淺。DES 取代了剪切表,同時剪切表將不再受到支持。

兩個新的接口 IDVDControl2 和 IDVDInfo2 極大地擴展了 DVD 導航器的功能。DVD 導航器現在實現了完整的 DVD Annex-J 命令集,既可以播放卡拉 OK,也可以播放影碟。新的 MSWebDVD ActiveX? 控件使這項功能可在基於腳本的應用程序中使用。

新的過濾器 MPEG-2 Demultiplexer 提供了在推模式下(從實時來源接收數據)對 MPEG-2 傳輸流和程序流的支持。該過濾器與過濾圖形中的新實時來源合成支持配合,可以提供優異的 MPEG-2 增強支持。

Microsoft 廣播驅動程序體系結構 (BDA) 是新壹代數/模電視調制設備的規範。在 DirectX 8.0 中,DirectShow 通過壹組新的內核模式設備過濾器和“BDA 調制模型”來支持 BDA 兼容設備。“BDA 調制模型”是壹組對象的集合,提供了對各種類型的數字和模擬網絡進行調制的方法。

DirectX 媒體對象 (DMO) 提供了編寫數據流組件的新方法。與 DirectShow 過濾器相似,DMO 接受輸入數據,並將其用於生成輸出數據。但是,DMO API 比相應的 DirectShow API 簡單得多。因此,DMO 比 DirectShow 過濾器更容易創建、測試和使用。DMO 與 DirectShow 完全兼容。只要您需要使用 DirectShow 提供的服務,例如圖形同步、智能連接、數據流的自動處理和線程管理,您都可以使用 DMO。但是,DMO 不需要使用過濾圖形,因此應用程序無需 DirectShow 就可以使用 DMO。

DirectX 8.0 版本的 DirectShow 包含更多的功能,但限於篇幅,這裏就不再多說。請記著試用新增和改進的 DirectShow。

  • 上一篇:安陽工學院本科專業
  • 下一篇:經歷磨難成功的事例
  • copyright 2024編程學習大全網