Opengl笔记---坐标系统
来源:互联网 发布:网民的网络行为特征 编辑:程序博客网 时间:2024/05/17 23:31
主要是学习过程中的要点总结,学习渠道为:https://learnopengl-cn.github.io/01%20Getting%20started/08%20Coordinate%20Systems/
要点:
1.OpenGL在每次顶点着色器运行后,我们可见的所有顶点都为标准化设备坐标(NDC)。也就是说x,y,z轴的值都会在[-1,1]之间。超过范围的都不可见!
2.如果图元需要被裁剪。则OpenGL会重新构建这个三角形为一个或多个三角形让其能够适合这个裁剪范围。
3.将坐标变换为标准化设备坐标,接着再转化为屏幕坐标
4.坐标起始于局部空间(Local Space),在这里它称为局部坐标(Local Coordinate),它在之后会变为世界坐标(World Coordinate),观察坐标(View Coordinate),裁剪坐标(Clip Coordinate),并最后以屏幕坐标(Screen Coordinate)的形式结束。
5.局部空间:局部空间是指物体所在的坐标空间,即对象最开始所在的地方。[抽象一个点为(0,0,0)在此基础上画一个边长为1的正方体。(0,0,0)就是你的物体中心。它的顶点为(1,0,0),(-1,0,0),(0,1,0),(0,-1,0),(0,0,1),(0,0,-1)]
6.世界空间:顶点相对于(游戏)世界的坐标。可以通过模型矩阵来操作。模型矩阵是一种变换矩阵,它能通过对物体进行位移、缩放、旋转来将它置于它本应该在的位置或朝向[比如我现在有两个上述正方体,分别把它摆在世界坐标的(1,0,0)和(-1,0,0)]
7.观察空间:观察空间是将世界空间坐标转化为用户视野前方的坐标而产生的。通常观察空间的变化规则存储在一个观察矩阵(View Matrix)里[]
8.裁剪空间:由由投影矩阵决定裁剪范围。投影矩阵会将坐标变换为[-1.0,1.0]的坐标。
操作:
组合模型矩阵、观察矩阵和投影矩阵:
注意:注意矩阵运算的顺序是相反的(记住我们需要从右往左阅读矩阵的乘法)。
- Opengl笔记---坐标系统
- Opengl的坐标系统
- OpenGL 坐标系统 投影
- 橡树OpenGL中的坐标系统
- OPENGL的坐标系统变换
- Direct/OpenGL 左右坐标系统
- OpenGL备忘6---坐标系统
- Opengl坐标系 坐标变换 笔记
- android OpenGL ES 坐标系统 和android View坐标系统
- Qt 坐标系统 笔记
- Qt 坐标系统 笔记
- 3DSMAX和OpenGL坐标系统相反
- 统一D3D与OpenGL坐标系统
- 统一D3D与OpenGL坐标系统
- opengl坐标系统及绘图流程理解
- opengl和osg的坐标系统
- 【Modern OpenGL】坐标系统 Coordinate Systems
- 统一D3D与OpenGL坐标系统
- 找第k小的数
- (一)WebView实践之基本用法
- 数据库事务的四大特性以及事务的隔离级别
- 【Unity学习笔记】UGUI输入框中将中文设置为两个字节
- 排序:简单排序-冒泡
- Opengl笔记---坐标系统
- MyBatis 基于注解的增删改查示例(Spring IOC注入)
- Codevs1074食物链
- karas 实现lstm 文本分类
- 读书笔记之智识分子(万维钢)
- 爬坑日记--------vue修改启动端口号
- 可凝儿DIO系列 滑溜溜顺滑弹润洗发露
- SSM综合项目实战(TTSC) -- day11 商品详情页,FreeMarker
- 解决gson转json字符串的时候=号等特殊字符会出现乱,导致加密结果不正确的问题