1. 程式人生 > >【遊戲開發】關於Direct X

【遊戲開發】關於Direct X

1.DirectX的定義

首先,我們必須瞭解DirectX的定義。

DirectX,(Direct eXtension,簡稱DX)是由微軟公司建立的多媒體程式設計介面。由C++程式語言實現,遵循COM。被廣泛使用於Microsoft Windows、Microsoft Xbox和Microsoft Xbox 360電子遊戲開發,並且只能支援這些平臺。最新版本為DirectX 11,建立在最新的Windows 7上。

Microsoft DirectX 是這樣一組技術:它們旨在使基於Windows 的計算機成為執行和顯示具有豐富多媒體元素(例如全色圖形、視訊、3D 動畫和豐富音訊)的應用程式的理想平臺。

DirectX 包括安全和效能更新程式,以及許多涵蓋所有技術的新功能。應用程式可以通過使用DirectX API 來訪問這些新功能。

Direct X主要用於遊戲開發,但其中部分用於開發其他型別的軟體,包括遊戲虛擬角色、網路軟體、與遊戲無關的圖形軟體。

Direct X通過和底層硬體打交道,從而獲取軟體的最大效能。

2.必要的工具和開發環境

要進行遊戲的開發,我們必須擁有一套最新的DirectX SDK(軟體開發包)。我們可以從微軟的官方下載站進行下載然後安裝,這裡貼出地址,http://msdn.microsoft.com/zh-cn/directx/aa937788.aspx。當然我們還要擁有開發環境,我們選擇Microsoft公司的Visual Studio 2010。

3.引擎設計概述

遊戲引擎是一系列高階程式碼,我們可以以它為基礎開發自己的遊戲。現代的遊戲引擎已經對使用他的人隱藏了底層實現的細節和規範。例如,可以在OpenGL和Direct3D的基礎上開發渲染引擎,這樣,引擎使用者就不需要知道使用的是哪一個渲染引擎,儘管也用到了一些底層的東西。

遊戲引擎包括:渲染引擎,物理引擎,聲音引擎等。遊戲引擎本身只是一個由更小的引擎組成的集合。遊戲引擎或它涵蓋的內容並沒有一個精確的定義。

對於視訊遊戲而言,它的遊戲引擎至少要包含渲染引擎和輸入引擎,這是必須的,否則,就不能稱其為互動式遊戲。

遊戲程式設計師和遊戲引擎程式設計師完成的是兩種不同的工作。遊戲程式設計師只與開發遊戲的遊戲引擎打交道,而遊戲引擎程式設計師要開發出其他人用於開發遊戲的引擎。

4.遊戲引擎中的幾個關鍵系統

遊戲引擎中的幾個關鍵系統有:遊戲渲染系統,輸入系統,聲音系統,物理系統,動畫系統,人工智慧(AI)系統等。

5. DirectX API函式

DirectX的API主要由DirectGraphics,DirectInput,DirectPlay,DirectMusic,DirectSound組成。每個API之間相互獨立,負責完成DirectX核心中不同的功能。DirectX中每個API都可以通過硬體加速,這意味著這些API可以直接和執行軟體的底層硬體對話。下面是各種API函式的概要解釋。

DirectGraphics:

DirectGraphics為負責向螢幕渲染二維圖形和三維圖形的DirectX API,也就是眾所周知的Direct3D。

DirectInput:

DirectInput是可以直接使用所有與計算機關聯的輸入裝置的DirectX API。這些裝置包括鍵盤,滑鼠和遊戲控制器裝置。

DirectPlay:

DirectPlay是控制Direct中網路功能的Direct API。DirectPlay可以讓應用程式對機器進行網路功能設定,從而可以通過和其他網路玩家交流。

DirectMusic:

DirectMusic是負責普通聲音處理的DirectX API。

DirectSound:

DirectSound是負責高階聲音處理的DirectX API。

6.動手寫一個視窗

在Windows中使用Direct3D建立Win32視窗非常簡單。要建立一個Win32視窗就必須擁有一個WinMain()函式(這不是廢話是什麼)。我們可以在MSDN中查到WinMain()的標準句法

int WINAPI WinMain(          

HINSTANCE hInstance,

    HINSTANCE hPrevInstance,

    LPSTR lpCmdLine,

    int nCmdShow

);