原创 遊戲開發基礎(六)

  第六章 Direct3D中,紋理用接口IDirect3DTexture9來表示,紋理是類似於表面的一個像素矩陣,與表面不同的是它可被映射到三角形

原创 遊戲開發基礎(十一)

  第十一章 ID3DXBuffer接口是一種泛型數據結構,該接口爲D3DX庫所使用,並可將數據存儲在一個連續的內存塊中 該接口只有兩個方法 LPV

原创 遊戲開發基礎(十)

  第十章 ID3DXMesh接口繼承了其父接口ID3DXBaseMesh的大部分功能 ID3DXBaseMesh接口包含有一個頂點緩存(用於存儲網

原创 遊戲開發基礎(十四)

第十四章 顯示粒子時,用點圖元(由D3DPRIMITIVETYPE類型的D3DPT_POINTLIST枚舉常量表示)是一個很好的選擇,但是,光柵化時,點圖元將被映射爲一個單個像素,這就無法提供很大的靈活性,因爲實際應用中可能需要各種尺寸的

原创 遊戲開發基礎(十二)

  第十一章 用D3DXMatrixLookAtLH函數計算觀察矩陣(即取景變換矩陣),當在某一固定地點固定攝像機方位,該函數十分有用,但其用戶對於

原创 智能指針 scoped_array

scoped_array:  scoped_array的接口和功能幾乎是與scoped_ptr是相同的(甚至還有少),主要特點如下:  【1】構造函數接受的指針p必須是new[]的結果,而不能使new表達式的結果;  【2】沒有*,->操

原创 遊戲開發基礎(十九)

第十九章 一種繪製效果通常由以下幾部件構成:一個頂點着色器和一個像素着色器,一個需要設置的設備狀態列表,一條或多條繪製路徑(rendering pass). 而且希望採用一種低效運行機制(fallback mechanism)針對不同級別

原创 遊戲開發基礎(七)

  第七章 融合技術能使我們將當前要進行光柵化的像素與先前已光柵化並處於同一位置的像素的顏色進行合成。 即將正在處理的圖元顏色值與存儲在後臺緩存中的

原创 遊戲開發基礎(十七)

第十七章 頂點着色器(vertex shader)是一段運行在圖形卡GPU中的程序,可取代固定功能流水線中的變換和光照環節(當然,不是絕對的,在硬件部支持頂點着色器的情況下,Direct3D運行時就會用軟件運算方式來模擬頂點着色器). 頂

原创 遊戲開發基礎(十六)

第十六章 高級着色語言:High-Level Shading Language,HLSL 頂點着色器和像素着色器就是自行編寫的規模較小的定製程序(custom programs),這些定製程序取代固定功能流水線中的某一功能模塊,並在圖形卡

原创 遊戲開發基礎(八)

  第八章 模板緩存是一個用於獲得某種特效的離屏緩存 模板緩存的分辨率與後臺緩存和深度緩存的分辨率完全相同,所有模板緩存中的像素與後臺緩存和深度緩存

原创 遊戲開發基礎(十八)

第十八章 像素着色器(pixel shader)是對每個像素進行光柵化處理期間運行在圖形卡GPU上的一段程序.(不同於頂點着色器,Direct3D不會以軟件運算方式來模擬像素着色器)像素着色器實質上市取代了固定功能流水線中的多重紋理(mu

原创 智能指針 scoped_ptr

scoped_ptr:  scoped_ptr是一個類似auto_ptr的智能指針,它包裝了new操作符在堆上分配的動態對象,能夠保證動態創建的對象在任何時候都可以被正確的刪除。  特徵:scoped_ptr的所有權不能轉讓。 操作函數:

原创 智能指針 shared_array

shared_array  shared_array類似shared_ptr,它包裝了new[]操作符在堆上分配的動態數組,同樣使用引用計數機制爲動態數組提供了一個代理,可以在程序的生命週期里長期存在,直到沒有任何引用後才釋放內存。  s

原创 遊戲開發基礎(十五)

第十五章 通常,在屏幕上任意位置點擊,點擊之後,計算出拾取射線,然後對場景中的每個物體進行遍歷,並檢測其是否與該射線相交,與射線相交的物體即爲用戶所拾取的物體 拾取步驟: 1 給定所點擊的屏幕點s,求出它在投影窗口中的對應點p 2 計算拾