【openGL教程 11 】关于坐标系统

本教程深入探讨OpenGL中的坐标系统,包括五个关键坐标系:局部空间、世界空间、观察空间、裁剪空间和屏幕空间。介绍了坐标转换的重要性和流程,以及正射投影和透视投影的区别。学习者将理解如何通过模型、观察和投影矩阵将3D对象转换为2D屏幕坐标,以及深度测试和Z缓冲区在处理多边形遮挡问题中的作用。
摘要由CSDN通过智能技术生成

目录

一、说明

二、坐标系统

2.1 五个重要坐标系

2.2 坐标转换概述

三、各种空间和它们之间的关系

3.1 局部空间

3.2 世界空间

 3.3 坐标定义和坐标之间关系

3.4 观察空间

3.5 裁剪空间

四、坐标的投影

4.1 正射投影

4.2 透视投影

4.3 把它们都组合到一起

五、进入3D场景

六、更多的3D

6.1 立方体画法

6.2 Z缓冲区

6.3 更多的立方体

七、练习


一、说明

        本篇是openGL学习中的核心内容之一;坐标之间的互相变换,是较为外向的知识,读懂本篇的基础性知识是射影几何,本篇与着色,像素并无太大关联,甚至与对象物体无关;视觉坐标是虚构的,只有进入度量体系才能具体化并对物体姿态、移动计量和预测,进而产生影响。

二、坐标系统

        在上一个教程中,我们学习了如何有效地利用矩阵变换来对所有顶点进行转换。OpenGL希望在所有顶点着色器运行后,所有我们可见的顶点都变为标准化设备坐标(Normalized Device Coordinate, NDC)。也就是说,每个顶点的x,y,z坐标都应该在-1.0到1.0之间,超出这个坐标范围的顶点都将不可见。我们通常会自己设定一个坐标的范围,之后再在顶点着色器中将这些坐标转换为标准化设备坐标。然后将这些标准化设备坐标传入光栅器(Rasterizer),再将他们转换为屏幕上的二维坐标或像素。

        将坐标转换为标准化设备坐标,接着再转化为屏幕坐标的过程通常是分步,也就是类似于流水线那样子,实现的,在流水线里面我们在将对象转换到屏幕空间之前会先将其转换到多个坐标系统(Coordinate System)。将对象的坐标转换到几个过渡坐标系(Intermediate Coordinate System)的优点在于,在这些特定的坐标系统中进行一些操作或运算更加方便和容易,这一点很快将会变得很明显。

2.1 五个重要坐标

  • 15
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无水先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值