這一節課,我們要做乙個
d3d的開發環境出來,基於
vc++6.0/directx9
我們需要的標頭檔案和庫檔案
d3d9.h
與d3d9.lib
首先,開發之前,我們要了解兩個東西(具體意義,參考
sdk幫助檔案)
idirect3d9* pidirect3d9;//d3d
介面物件
idirect3ddevice9* pidirect3ddevice9;//d3d
裝置我們建立
d3d開發環境的目的,就是要把上面這兩個東西建立出來。
以後的開發中,
pidirect3ddevice9
到處都用得到。
建立d3d
裝置建立的步驟:步驟1
:建立介面物件步驟2
:顯示屬性的設定步驟3
:裝置功能檢測步驟4
:建立d3d
裝置分析:步驟2
顯示屬性的設定,全屏模式和視窗模式有差別,要分別處理步驟3
我們採用
hal硬體抽象層。進行檢測選擇,選擇硬體,軟體渲染的方式步驟2
和步3
為步驟4 d3d
裝置的建立做準備
流程如下:
pidirect3d9=direct3dcreate9(d3d_sdk_version);
d3ddisplaymode d3ddm;
pidirect3d9->getadapterdisplaymode(d3dadapter_default,&d3ddm);
d3dpresent_parameters d3***;
zeromemory(&d3***,sizeof(d3***));
if(bfullscreen)
else
pidirect3d9->getdevicecaps(d3dadapter_default,d3ddevtype_hal,&d3dcaps)
if(d3dcaps.devcaps&
實際功能)
else
if(bhardware)
else
到此,我們需要的兩個東西
d3d介面物件和
d3d裝置就都建立出來了,我們的
d3d場景初始化也完成了
誰都知道,重複的**誰都不喜歡寫,因為那費時又有點無聊,呵呵,為了方便以後我們開發的使用,我們對
d3d的初始化同樣做了封裝,上面的講的所有的功能細節,都有我們的類去完成,你只要呼叫時設定幾個引數,一切就
ok了。
最後,你以後只需要寫下面幾行**,就可以完成
d3d裝置的初始化,並建立出乙個你想要的視窗。
cengineframe engineframe;
如果你想要乙個全屏的視窗,只要把最後一行的
false
改為true
就可以了,細節的東西,就交給我們的類去實現了
是不是很簡單
我們cengineframe類功能很強大的,我們後邊會一步步填加一些功能,去完善它!
效果預覽
呵呵,效果看起來和第一課一樣,但這個視窗已經是
d3d初始化後的視窗了,在這個視窗中,你可以創造出很奇妙的東西,我們慢慢來
,不著急!
今天是週末,快十點了,要休息一下了,過我的私生活……
明天有時間,我們繼續下一課,開始做圖了哦,頂點渲染,到時候你會看到用
d3d做出來的空間圖形!
如果您要使用我寫的東西,我很高興請寫明出處就可以,也尊重一下作者的勞動成果嘛
您願意使用我的引擎**,可以聯絡我,我發給您。
如果您對引擎的修改有建議,通知我,我很高興!
我的郵箱
C 遊戲開發教程 D3D
本文適合有一定程式設計基礎的愛好者!本文不會涉及基本的語法等內容,本文適合所有遊戲開發初學者,本文從microsoft directx 9.0 sdk summer 2004 中的d3d下tutorials資料夾下的例子開始!關鍵字 c 遊戲開發 3d 教程 c 讀作 c sharp 是一種簡單 現...
D3D遊戲開發1之準備
開始,編譯器的正確配置 第一步 安裝directx sdk june 2008 和microsoft visual studio 2005 第二步 設定directx和visual studio 2005關聯 1 開啟visual studio 2005,將d3d需要的lib 檔案目錄在鏈結器中指定...
自己動手寫遊戲 Flappy Bird
是由來自越南的獨立遊戲開發者dong nguyen所開發的作品,遊戲中玩家必須控制乙隻小鳥,跨越由各種不同長度水管所組成的障礙,而這只鳥其實是根本不會飛的 所以玩家每點選一下小鳥就會飛高一點,不點選就會下降,玩家必須控制節奏,拿捏點選螢幕的時間點,讓小鳥能在落下的瞬間跳起來,恰好能夠通過狹窄的水管縫...