C++ GLM中的Java Matrix4f.transform等价物?

C++ GLM中的Java Matrix4f.transform等价物?,c++,opengl,glm-math,C++,Opengl,Glm Math,在OpenGL for Java中,Matrix4f有一个transform()方法。我试图看一个使用这个的例子,但想把它转换成使用GLM。但我无法在GLM中找到与transform()等价的函数,也无法理解transform()的真正功能 例如: 在Java中: Vector4f direction = new Vector4f(x, y, z, 1); Matrix4f rotationMatrix = new Matrix4f(); … set rotationMatrix … Matri

在OpenGL for Java中,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() ???
提供了
*
-运算符。它可用于类似的操作员,例如:

vec4方向=vec4(x,y,z,1.0f);
mat4旋转矩阵=mat4(1.0f);
方向=旋转矩阵*方向;

注意,如果您想构造一个,那么您可以将单个标量(1.0)传递给
mat4
的构造函数(例如
mat4(1.0f)
mat4()
构造一个未初始化的矩阵。

太棒了,谢谢!我以前确实尝试过*-运算符,但正是mat4的构造函数中缺少的1.0f起了作用。