OpenGL中的正交投影矩阵问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenGL中的正交投影矩阵问题相关的知识,希望对你有一定的参考价值。

我试图用正交投影矩阵渲染场景,但没有成功。

这是我的顶点着色器:

#version 330 core

layout (location = 0) in vec3 position;

uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;

void main() {

  gl_Position = projection * view * model * vec4(position, 1.0f);

}

这是我的片段着色器:

#version 150

uniform vec3 color;

out vec4 out_color;

void main() {
  out_color = vec4(color, 1.0);
}

这是我的渲染代码:

  shader.setUniform("projection", projection);
  shader.setUniform("view", view);
  shader.setUniform("model", model);
  shader.setUniform("color", color);

  glBindVertexArray(vao);

  glEnableVertexAttribArray(0);

  glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);

  glDrawElements(GL_TRIANGLES, 36, GL_UNSIGNED_SHORT, nullptr);

现在是否用作投影矩阵:

glm::perspective(glm::radians(fov), width/(float)height, zNear, zFar);

一切正常,我看到了立方体。但是,如果我用这个:

glm::ortho(0.0f, static_cast<float>(width), 0.0f, static_cast<float>(height));

多维数据集不见了。

我想念的是什么?

我试图用正交投影矩阵渲染场景,但没有成功。这是我的顶点着色器:vec3位置的#version 330核心布局(位置= 0);统一的mat4模型; ...

答案

[最有可能立方体被投影的远平面夹住。如果通过

以上是关于OpenGL中的正交投影矩阵问题的主要内容,如果未能解决你的问题,请参考以下文章

opengl 的投影和正交矩阵

openGL - 正交投影矩阵

OpenGL 3+,具有定向光的正交投影

OpenGL中的正交投影问题

opengl中的正交投影和纹理坐标

OpenGL ES 学习 -- 正交投影