0
私は現在、ゲームエンジンのビルボードシェーダを作成しています。このシェーダのクワッドの回転をリセットしたいとします。私はGLSLシェーダプログラミングよ、ここで頂点シェーダです:回転行列の1軸を変更する方法は?
#version 400 core
layout (location = 0) in vec3 in_position;
layout (location = 1) in vec2 in_texcoords;
out data
{
vec2 tex_coords;
} vs_out;
uniform mat4 pr_matrix;
uniform mat4 ml_matrix = mat4(1.0);
uniform mat4 vw_matrix = mat4(1.0);
void main()
{
gl_Position = pr_matrix * vw_matrix * ml_matrix * vec4(in_position, 1.0);
vs_out.tex_coords = in_texcoords;
}
私は
1 0 0
0 1 0
0 0 1
に左上を設定することにより、モデル行列の回転をリセットすることができることを知っているが、今クワッドをx軸とz軸の周りで回転できるようにしたいが、y軸の周りには回転させたくない。行列の回転を1つの軸でのみリセットする方法を知っている人はいますか?
おかげで、しかし、あなたが0にy軸周りのオイラー角を設定する方法を知っていますか?あなたが探しているものだから:/ – RagingRabbit
@RagingRabbit:Y軸の逆数だけ乗算して、その特定の回転を元に戻すことはできますか? – namar0x0309
いいえ、私は変換行列しか得ていないので、すべての軸で回転します。 – RagingRabbit