ドキュメントに何かが欠けているだけかもしれませんが、GLMではベクトルの転置を行うことはできないようです。mat3x1またはmat1x3タイプも表示されません。また、glm::transposeはベクトルに対しては機能しません。私は何かが足りないのですか、それともこれはGLMに欠けている機能だけですか?
質問する
13660 次
2 に答える
9
GLMはGLSLに基づいており、ベクトルを転置する必要はありません。ベクトル/行列の乗算を行うと、行列のサイズに合わせて機能する方法でベクトルが乗算されます(乗算の順序を変更する必要がある場合を除く)。したがって、amat4
とdoがある場合mat4*vec4
、vec4
は列ベクトルと見なされます。実行するvec4*mat4
と、行ベクトルと見なされます。を実行すると、動作mat2x4*vec4
中にエラーが発生しますvec4*mat2x4
(行ベクトルとして)。
したがって、一般に、ベクトルを「転置」する必要はありません。システムは、機能するものは何でも実行します。
于 2012-03-25T20:53:18.473 に答える
6
GLSL / GLMでベクトルを転置する方法(主に外積を計算するためのuv T )を探している人のためのリファレンスとして。これは:
glm::core::function::matrix::outerProduct(u, v)
APIリンクの形式が次のように変更されたため、NicolのGLMリンクは404になりました。
于 2013-10-17T03:17:56.417 に答える