Irrlicht引擎原始碼剖析 第十四天

2021-06-08 08:18:50 字數 512 閱讀 8279

昨天結束了cvideosoftware類,今天看directx和opengl的封裝。先看directx中的cdirectx8texture.h/.cpp,在這部分的實現裡,用到了d3d8.h、d3dx8tex.h標頭檔案以及d3dx8.lib庫檔案。主要是對紋理的處理:獲取紋理、紋理的顏色格式、複製紋理、紋理屬性的各個操作等等。

在cvideodirectx8.h/.cpp中,宣告的cvideodirectx8類繼承自cvideonull類。有設定材質、設定渲染目標、設定及獲取視野區域、繪製三角形索引列表、繪製2d影象、初始化d3d裝置、矩陣轉換、新增及刪除動態光源、獲取及設定紋理、顏色格式轉換、設定渲染狀態等等。在設定3d渲染模式setrenderstates3dmode()裡,列舉了各類渲染狀態。

接著看對opengl的封裝了。在copengltexture.h/.cpp中,包含了gl.h以及glu.h標頭檔案,宣告了opengl紋理類,和cdirectx8texture類一樣,用來對紋理的處理。

over!今天解決8個**檔案,還剩75個。

irrlicht引擎原始碼剖析 引用計數

在研究irrlicht的video driver和scene graph之前,必須先了解在irrlicht中廣泛應用的引用計數機制。irrlicht的介面ireferencecounted實現了引用計數的機制。需要採用引用計數管理的類都會繼承這個介面。irr的引用計數最重要的兩個介面就是grab 和...

irrlicht引擎原始碼剖析 引用計數

在研究irrlicht的video driver和scene graph之前,必須先了解在irrlicht中廣泛應用的引用計數機制。irrlicht的介面ireferencecounted實現了引用計數的機制。需要採用引用計數管理的類都會繼承這個介面。irr的引用計數最重要的兩個介面就是grab 和...

Irrlicht引擎原始碼剖析 第三天

今天開始看include core部分,首先開啟irrmath.h,該檔案在core命名空間裡定義了4個常數,如浮點數比較時的捨入精度,圓周率,以及用於角度與弧度之間轉換的常數值。接著看vector2d.h,該檔案實現了乙個2d向量的模板類,以其相關方法的定義。因為該類中的normalize 方法的...