如何在GLM中使用透视图?

时间:2016-01-24 05:06:21

标签: opengl transform glm-math

我正在尝试学习使用OpenGL。我在使用glm :: perspective时遇到了问题。每当我把它放入变换矩阵时,窗口中都没有显示。我做错了什么?

着色器代码:

//vertex shader
#version 450 core
layout (location = 0)
in vec3 position;
uniform mat4 transform;
void main(){
gl_Position =transform*vec4(position.xyz, 1.0);
}

确定统一变量(transform)的值等于的代码:

glm::mat4 transform;
transform = glm::perspective(45.0f, (float)900/(float)600, 0.1f, 100.0f);
transform = glm::translate(transform, glm::vec3(cos(time)/2, sin(time)/2,0.0f));
transform = glm::rotate(transform(GLfloat)time, glm::vec3(sin(time), cos(time*2), 0.0f));`

它工作正常,直到我把glm :: perspective部分放在那里。然后它在窗口中根本不显示。

1 个答案:

答案 0 :(得分:0)

可能为时已晚,但glm :: perspective的第一个参数是弧度。我假设你打算输入45度