Opengl 如何在GLM中使用透视图?
我正在努力学习使用OpenGL。我在使用glm::perspective时遇到问题。每当我将其放入变换矩阵时,窗口中不会显示任何内容。我做错了什么 着色器代码:Opengl 如何在GLM中使用透视图?,opengl,transform,glm-math,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); } 确定统一变量(
//vertex shader
#version 450 core
layout (location = 0)
in vec3 position;
uniform mat4 transform;
void main(){
gl_Position =transform*vec4(position.xyz, 1.0);
}
确定统一变量(转换)等于什么值的代码:
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部分放进去之前,它工作得很好。然后它根本不会显示在窗口中。可能太晚了,但glm::perspective的第一个参数是弧度。我假设您想输入45度,可能太晚了,但是glm::perspective的第一个参数是弧度。我假设您打算输入45度您试图渲染的位置是什么?根据透视矩阵,你确定它们应该是可见的吗?画一个位于原点的单位立方体作为参考,这是一个很好的做法。让它以透视的方式渲染,这样其他人会更容易。您尝试渲染的位置是什么?根据透视矩阵,你确定它们应该是可见的吗?画一个位于原点的单位立方体作为参考,这是一个很好的做法。让它以透视的方式呈现,这样其他人就更容易了。