glm :: vec3和glm :: mat4如何初始化?
问题描述:
这是关于理解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的行为。
答
- 它
"glm/detail/type_mat4x4.inl"
- 它是一个构造函数,什么也不做,在0.9.6.3成为
enum ctor{uninitialize}
- 它调用默认的构造函数下
顺便说一句,我可以” t下载你的版本,这个回答是基于0.9.6.3
你可能使用了错误的标签,它应该是[tag:glm-math]? –
谢谢,改变了它。 – VisorZ