3d遊戲框架(第乙個3d遊戲例項)上

2021-04-22 09:57:24 字數 828 閱讀 8750

// winmain

//int winapi winmain(hinstance hinstance,

hinstance previnstance,

pstr cmdline,

int showcmd)

if(!setup())

d3d::entermsgloop( display );

cleanup();

device->release();

return 0;

}通過上面winmain函式執行過程我們知道遊戲的大概框架:

1.winmain做為程式的入口。

2.在if的判斷引數中執行了d3d::initd3d,d3d::initd3d功能為初始化住顯示視窗和driect3d。

3.第二個if的判斷引數中執行了setup();setup主要完成程式的初始話(遊戲中則為遊戲的初始化工作,例如建立遊戲物件等)

4.通過display作為引數呼叫了d3d::entermsgloop( display );display功能為完整螢幕的填充和後背表面互動,d3d::entermsgloop實現了訊息迴圈,在這裡通過:

::peekmessage獲取訊息

::translatemessage翻譯為具體訊息

::dispatchmessage將訊息投遞給作業系統

作業系統再呼叫視窗過程函式(**函式)d3d::wndproc處理訊息。 (這裡d3d::wndproc**定義有程式設計師編寫,在這裡實現遊戲的控制機制)

5.執行cleanup();清除應用程式。

6.執行device->release();釋放idriect3ddevice9物件。

3d遊戲框架(第乙個3d遊戲例項)中

在d3d initd3d中我們談到它完成了主顯示視窗的建立,下面我們了解下視窗是如何被建立的。視窗建立的步驟如下 1.設計乙個視窗類。2.註冊視窗。3.建立視窗。4.顯示及更新視窗。在d3d initd3d 的 中 wndclass wc wc.style cs hredraw cs vredraw...

3D遊戲之神 John Carmack

談到遊戲,從引爆電腦遊戲核彈的 doom 毀滅戰士 到讓無數玩家沉溺在死亡競賽中進行光榮與夢想戰鬥的 qyake 雷神之鎚 再到如今萬人聯機激情對抗的 半條命 和 反恐精英 都有著強大的遊戲引擎在背後支撐著這些偉大的遊戲,而這些引擎的背後,都鐫刻著同乙個人的名字 john carmack。如今,ca...

3D手機遊戲引擎

一,寒霜2引擎 frostbite 2 engine 但手機上貌似不支援 二,虛幻3引擎 unreal engine 3 沒用過 三,unity 引擎 本人使用過 以上3d引擎我推測應該都是基於 opengl es2.0圖形庫支援嵌入式裝置。2d手機遊戲引擎 一,cocos2d x cocos2d ...