我只知道一种glm::mat4 matrix
我什至尝试了float matrix[9][3]
也不起作用,我需要将它与glm::vec3
相乘
如何创建?
最佳答案
您可以使用3x3子矩阵进行计算,并将输出合并为最终结果。有两种选择:
a a a u'
a a a u'
a a a u'
b b b u v'
b b b * u = v'
b b b u v'
c c c w'
c c c w'
c c c w'
这真的很简单:
u' = a*u
v' = b*u
w' = c*u
u
u
u
a a a b b b c c c v u'
a a a b b b c c c * v = u'
a a a b b b c c c v u'
w
w
w
这比较复杂,但不多:
u.x' = (a*u).x + (b*v).x + (c*w).x
u.y' = (a*u).y + (b*v).y + (c*w).y
u.z' = (a*u).z + (b*v).z + (c*w).z
例如,出于以下目的,这是在GLSL中扩展维度的常用方法:
关于c++ - GLM:如何创建9列3行的矩阵,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58872083/