![](/img/trans.png)
[英]Is there any way to extract a transform matrix from a view matrix in glm?
[英]Java Matrix4f.transform equivalent in GLM?
在 Java 的 OpenGL 中,Matrix4f 有一个 transform() 方法。 我试图看一个使用这个的例子,但想把它翻译成使用 GLM。 但是我在 GLM 中找不到与 transform() 等效的东西,我也不了解 transform() 的真正作用。
例如:
在 Java 中:
Vector4f direction = new Vector4f(x, y, z, 1);
Matrix4f rotationMatrix = new Matrix4f();
… set rotationMatrix …
Matrix4f.transform(rotationMatrix, direction, direction);
在 C++ 中使用 GLM:
vec4 direction = vec4(x, y, z, 1);
mat4 rotationMatrix = mat4();
… set rotationMatrix …
??? What to use instead of transform() ???
GLM提供了*
运算符。 它可以与OpenGL 着色语言 (GLSL)中的运算符类似地使用,例如:
vec4 direction = vec4(x, y, z, 1.0f);
mat4 rotationMatrix = mat4(1.0f);
direction = rotationMatrix * direction;
请注意,如果您想构造一个单位矩阵,那么您需要将一个标量 (1.0) 传递给mat4
的构造函数(例如mat4(1.0f)
)。 mat4()
构造一个未初始化的矩阵。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.