天天看點

使用Camera的幾個步驟

1.繪圖前初始化Camera矩陣

2.程式運作時,根據使用者動作實時更新Camera矩陣

3.繪圖時先取得Camera矩陣,然後應用該矩陣繪圖

4.在消息處理過程中調用Camera的消息處理函數

隻有這樣才能實時得到變化的Sence

下面看一下核心代碼

1. 在InitD3D函數中初始化三種矩陣,world matrix, view matrix, porjection matrix,對應步驟1

使用Camera的幾個步驟

Code

2. 定義函數SetupMatrix用來設定目前矩陣,定義函數OnFrameMove,用來更新每一幀

使用Camera的幾個步驟

1 void OnFrameMove()

2 {

3     // update every frame

4     g_Camera.OnFrameMove() ;

5 }

3. 在Render()函數中,首先調用OnFrameMove(), 更新Frame,對應步驟2, 然後調用SetupMatrix(),取得目前矩陣并應用,對應步驟3

使用Camera的幾個步驟

1 // Update frame

2 OnFrameMove() ;

4 // update matrix

5 SetupMatrix() ;

使用Camera的幾個步驟

4. 在WinProc函數的最後調用camera的消息處理函數

1 g_Camera.HandleMessages(hWnd, msg, wParam, lParam) ;

完整代碼

使用Camera的幾個步驟

本文轉自zdd部落格園部落格,原文連結:http://www.cnblogs.com/graphics/archive/2009/10/28/1591205.html,如需轉載請自行聯系原作者

繼續閱讀