glm :: value_ptr有太多的参数

时间:2016-08-28 16:07:55

标签: c++ glm-math

我是OpenGL和GLM的新手。我一直在关注在线教程,希望能找到一个有效的教程。一个教程告诉我使用这个片段:

var ct = new CancellationToken();

Parallel.ForEach(source, (item) =>
{
     ct.ThrowIfCancellationRequested();
})

无论出于何种原因,Visual Studio告诉我//Define the screen width and height, and get the ratio const float S_WIDTH = 800; const float S_HEIGHT = 600; const float S_RATIO = S_WIDTH / S_HEIGHT; //In my shader "shdprog" get the uniform variable "ortho"'s location GLuint orthoadr = glGetUniformLocation(shdprog, "ortho"); //Create a 4x4 matrix using glm glm::mat4 ortho = glm::ortho(-S_RATIO, S_RATIO, -1.f, 1.f, -1.f, 1.f); //Set the custom GLSL "ortho" uniform to the value of the glm::mat4 ortho glUniform4fv(orthoadr, 1, GL_FALSE, glm::value_ptr(ortho)/*too many arguments in function call*/); 有太多的参数(“函数调用中的参数太多”)。即使删除所有参数也不会改变任何内容。

我的教程错了吗?或者我输错了什么?

1 个答案:

答案 0 :(得分:1)

glUniform4fv需要三个参数。您正在寻找的功能是glUniformMatrix4fv,需要4个。