glm :: mat4构造函数如何工作?

问题描述

这行代码如何工作?

glm::mat4 trans = glm::mat4(1.0f);

为什么我只需要传递一个浮点数,矩阵看起来如何?

解决方法

OpenGL Mathematics (GLM) API documentation基于OpenGL阴影语言(GLSL),并引用The OpenGL Shading Language specification

5.4.2向量和矩阵构造器

[...]如果矩阵构造函数只有一个标量参数,它将用于初始化矩阵对角线上的所有分量,其余分量初始化为0.0。

可以通过单个参数1.0初始化Identity matrix
如果将0.0作为单个参数传递,则矩阵中的所有字段均为0.0,这毫无用处。 默认构造函数将矩阵的字段保留为未初始化。

通常,矩阵( m )用于变换向量(v'= m * v)。如果矩阵的所有字段均为0.0,则结果向量( v')的所有分量也均为0.0。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...