LearnOpenGL学习笔记(六):坐标系统

LearnOpenGL学习笔记(六)

1.概述

在OpenGL中,对我们来说比较重要的总共有5个不同的坐标系统:

  • 局部空间(Local Space,或者称为物体空间(Object Space))
  • 世界空间(World Space)
  • 观察空间(View Space,或者称为视觉空间(Eye Space))
  • 裁剪空间(Clip Space)
  • 屏幕空间(Screen Space)

局部空间是指物体所在的坐标空间,即对象最开始所在的地方。
世界空间中的坐标正如其名:是指顶点相对于(游戏)世界的坐标。
观察空间经常被人们称之OpenGL的摄像机(Camera),是将世界空间坐标转化为用户视野前方的坐标而产生的结果。
OpenGL期望所有的坐标都能落在一个特定的范围内,且任何在这个范围之外的点都应该被裁剪掉(Clipped)。被裁剪掉的坐标就会被忽略,所以剩下的坐标就将变为屏幕上可见的片段。这也就是裁剪空间(Clip Space)名字的由来。

将上述的每一个步骤都创建一个变换矩阵:模型(model)矩阵、观察(view)矩阵和投影(projection)矩阵。一个顶点(V_local)坐标将会根据以下过程被变换到裁剪(V_clip)坐标:

在这里插入图片描述

2.代码和运行结果

这里直接给出了同时渲染十个立方体且使用模型(model)矩阵只让是3倍数的箱子旋转(以及第1个箱子)的代码,点击这里

运行结果如下所示:
在这里插入图片描述
其中应该有四个箱子在旋转。

猜你喜欢

转载自blog.csdn.net/qq_32925781/article/details/82927127