這是關於理解glm的來源。我想知道glm是否會初始化它的類並嘗試它。是的,即使沒有提供構造函數值,glm::vec3
和glm::mat4
也被初始化。然後我想了解它是如何完成的,並閱讀glm::mat4
模板的來源。glm :: vec3和glm :: mat4如何初始化?
有本節:
...
enum ctor{null};
// Constructors
GLM_FUNC_DECL tmat4x4();
GLM_FUNC_DECL tmat4x4(tmat4x4 const & m);
GLM_FUNC_DECL explicit tmat4x4(ctor Null);
...
我可以讀有一個(void)
構造函數(構造函數),但沒有定義,所以沒有{...}
部分。並且存在explicit
ctor,0
作爲來自enum ctor
類型的第一個元素的參數,這當然獲得索引值0
。
- 構造函數定義在哪裏?我怎樣才能找到他們?
- 什麼是顯式無效ctor?
glm::mat4
如何初始化爲單位矩陣時,我只是寫:glm::mat4 myMatrix;
編輯:瀏覽在GitHub上更多的電流源文件帶來了一個從mat4x4.hpp
到detail/type_mat4x4.hpp
這#includes
的實施細則中type_mat4x4.inl。在那裏可以看到ctor的行爲。
你可能使用了錯誤的標籤,它應該是[tag:glm-math]? –
謝謝,改變了它。 – VisorZ