Irrlicht引擎原始碼剖析 第三天

2021-06-08 01:34:18 字數 635 閱讀 7165

今天開始看include\core部分,首先開啟irrmath.h,該檔案在core命名空間裡定義了4個常數,如浮點數比較時的捨入精度,圓周率,以及用於角度與弧度之間轉換的常數值。

接著看vector2d.h,該檔案實現了乙個2d向量的模板類,以其相關方法的定義。因為該類中的normalize()方法的定義裡呼叫了位於line3d.h中getlenght()函式,所以我們接下來看line3d.h。

line3d.h檔案中實現在了3d環境中,線段的相關定義。構造了line3d模板類,從該類中定義的成員型別來看,使用了3d向量。所以下面,我們來看vector3d.h。在該檔案中,實現了3d向量的類模板及其相關定義。如旋轉座標,運算子過載,點積,叉積,求兩點間距離等操作。

在dimension2d.h中,實現了乙個指定2維尺寸的模板類。

在line2d.h中,實現了2維平面裡線段的定義,建立了lined2d模板類。由此發現引擎作者是在先現實了2d向量和3d向量的基礎上,建立的兩點間線段的處理類。即今天至此解決了core模組中向量資料型別的實現。

現在看平面的實現。首先是plane3d.h,定義了點與平面的相交關係,建立了平面模板類。plane3dex.h是平面模板類的擴充套件版,運算速度更快。

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

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

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

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

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

Irrlicht引擎原始碼剖析 第二天

我們來看看irrlicht.h檔案中宣告的建立引擎裝置物件的函式的形參 irrlicht api irrlichtdevice createdevice video edrivertypedevicetype,const core dimension2d windowsize,u32 bits,bo...