2016-12-02 2 views
-2

OpenGLシェーダでマトリックスを使用できません。これは私にエラーを与えている:C++/OpenGL glmシェーダで行列を均一にすることができません

glUniform4f(matLocation, mat[0], mat[1], mat[2], mat[3]); // glm mat4 

no suitable conversion function from "glm::tvec4<float, glm::highp>" to "GLfloat" exists 

が、それは私にこのエラーメッセージを与えている、といつものように、グーグルは私に何か良い結果が得られていない理由を私は完全にを理解していません。なぜ行列を浮動小数点に変換したいのですか?あなたはglm::value_ptrを提供することができますGLM 16の浮動小数点値の配列へのポインタを取るglUniformMatrix4fvを必要とするので、

+0

行列はvec4ではありません。glUniformMatrix4fvとglm :: value_ptrを使用してください。 – pleluron

+0

これはvec4ではなく、mat4です。 – Accumulator

+0

なぜglUniform4fを使用していますか? vec4の4つの値を設定します。 – pleluron

答えて

1

glUniform4fは、4つのfloat値とvec4を更新します。

mat[n]n番目の列であるvec4のみである。コンパイルエラーです。

関連する問題