DirectX學習之WinMain函式

2021-07-31 22:28:58 字數 1556 閱讀 2987

剛開始學習directx,使用vs2013編譯環境,建立第乙個視窗,學習winmain函式。

winmain函式是windows應用程式的入口,相當於c語言的main函式。

winmain函式主要實現以下功能:

1.註冊視窗類,建立視窗,執行其他必要的初始化的操作;

2.進入訊息迴圈,根據從應用程式訊息佇列接受的訊息,呼叫相應的處理過程;

3.當訊息迴圈檢索到wm_quit訊息時,終止程式執行。

首先建立win視窗空專案

新增c++檔案,輸入下面**:

#include#includelresult callback wndproc(

hwnd hwnd, // handle to window

uint umsg, // message identifier

wparam wparam, // first message parameter

lparam lparam // second message parameter

);int winapi winmain(

hinstance hinstance, // handle to current instance

hinstance hprevinstance, // handle to previous instance

lpstr lpcmdline, // command line

int ncmdshow // show state

) return 0;

}lresult callback wndproc(

hwnd hwnd, // handle to window

uint umsg, // message identifier

wparam wparam, // first message parameter

lparam lparam // second message parameter

) return 0;

}

編譯報錯 cannot convert from 'const char ' to 'lpcwstr' 

錯誤的原因是專案字符集設定為unicode,可以將報錯的地方字元(char)型別改為寬字元(wchar_t)型別,也可以更改字符集為 multi-byte 。

專案(project)—> 屬性(property pages)—> 配置屬性(configuration properties)—> 常規(general)—>字符集(character set)

DirectX 學習筆記

1.呼叫drawprimitive 和 drawindexedprimitive 就相當於一次drawcall,所以如果我們要減少drawcall的數量,那麼就要盡量將資料塞到乙個buffer中然後再一次性提交,但是塞得資料是有一些限制的.限制如下 1 是否資料的頂點宣告格式是一樣的?2 是否使用的...

DirectX 之 DirectDraw 視窗模式

在視窗模式下使用 directdraw 最大的痛苦是不能使用換頁操作 flip 但是有許多人還是喜歡在視窗模式下進行遊戲.首先,視窗模式下建立乙個 idirectdraw 介面物件和全屏模式下是一樣的,不同的是,在選擇協作模式和不能改變螢幕解析度.當然你堅決要改變,一定要有禮貌的改變.設定協作級別,...

菜鳥DirectX之頂點快取

現在是22點43分,剛下班回家,因為遊戲要十二月份上線,比之前的計畫提前了三個月,拼命的加班啊。一什麼是頂點快取 在遊戲中,物體模型是用多邊形網格來描述的,一般的是三角形,頂點快取就是來儲存用來描述物體模型的所有多面形的頂點的資訊,這些資訊有頂點的三維座標,頂點顏色,頂點法向量,紋理座標等。二如何使...