当前位置: 首页 > news >正文

OpenGL ES 之对各种坐标系统的记录理解

        上周看了一个斯坦福的关于OpenGL ES的视频,记录一下相关的坐标系。


坐标系统包括视窗坐标、规格化设备坐标、裁剪坐标和眼睛坐标、世界坐标、对象坐标,如下图的洋葱一样成一个多层系统。


1.视窗坐标也就是我们手机窗口对应的坐标系统,以左上角为原点,右下角对应我们手机的最大像素值的集合,如下图是一个像素为320*480的手机,那他右下角的坐标就是(320,480)。

2.规格化设备坐标是以屏幕中心为原点,X轴朝右,Y轴朝上,所以左下角的坐标为(-1,-1),右上角的坐标为(1,1).当然这是z轴为0时的显示,实际上我们的规格化设备坐标系统是要考虑z轴,所以由平面要转换成一个正方体,原点坐标为(0,0,0),也就是这个立方体的中心,而它左上角离我们最近的那个顶点的坐标就是(1,1,1),右下角离我们最远的那个顶点的坐标就是(-1,-1,-1)。它的z轴有一部分是屏幕向外的,x轴为屏幕向右。

3.眼睛坐标系是从我们的眼睛出发朝我们的手机设备看过去所能看到的,他会有一个z轴的最近距离和最远距离,也就是zNear和zFar,只有在这两者之间并且也满足x轴和Y轴坐标在屏幕当中的坐标才会显示出来,越远的东西会显示得越小,产生透视的效果。

4.世界坐标就是一个用户构造,他在openGL世界不代表任何东西,只是当我们创建对象时,可以说那些对象相对于一些固定的位置,在哪里哪里。


5.对象坐标就是我们要绘制在眼睛坐标中的物体,可以转换成世界坐标,以这个物体的中心为原点,同样的有x,y,z轴。



相关文章:

  • Git 仓库结构 (二)***
  • 使用WCF Test Client(WcfTestClient.exe) 来测试WCF
  • Internet Connectivity Evaluation Tool
  • CCF201412-2 Z字形扫描 java(100分)
  • [SoftGrid 系列] Microsoft SoftGrid Server 安装篇
  • 只有rman的备份文件恢复过程
  • Perl脚本学习笔记(一)
  • func 安装之艰辛历程
  • SoapUI实践:自动化测试、压力测试、持续集成
  • linux命令之wget
  • 关于同一线程两次调用EnterCriticalSection的测试
  • 顶级MySQL主从复制企业应用
  • Struts2利用拦截器实现权限控制
  • kvm虚拟化学习笔记(十三)之kvm虚拟机磁盘文件读取小结
  • Python回顾与整理4:序列1—字符串
  • flask接收请求并推入栈
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • Median of Two Sorted Arrays
  • select2 取值 遍历 设置默认值
  • Swift 中的尾递归和蹦床
  • Vim 折腾记
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 机器学习中为什么要做归一化normalization
  • 基于webpack 的 vue 多页架构
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 通过几道题目学习二叉搜索树
  • 正则表达式
  • 字符串匹配基础上
  • AI算硅基生命吗,为什么?
  • FaaS 的简单实践
  • Prometheus VS InfluxDB
  • 阿里云移动端播放器高级功能介绍
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​Python 3 新特性:类型注解
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (ZT)薛涌:谈贫说富
  • (定时器/计数器)中断系统(详解与使用)
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (循环依赖问题)学习spring的第九天
  • (转)为C# Windows服务添加安装程序
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET 中的轻量级线程安全
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .NET学习教程二——.net基础定义+VS常用设置
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • // an array of int
  • /proc/stat文件详解(翻译)
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • @staticmethod和@classmethod的作用与区别
  • @TableId注解详细介绍 mybaits 实体类主键注解
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!
  • [1204 寻找子串位置] 解题报告