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

简介:         上周看了一个斯坦福的关于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轴。



目录
相关文章
|
7月前
|
Linux API iOS开发
【Qt 渲染引擎】一文带你了解qt的三种 渲染引擎,包括栅格引擎(Raster)、OpenGL 和本地绘图系统
【Qt 渲染引擎】一文带你了解qt的三种 渲染引擎,包括栅格引擎(Raster)、OpenGL 和本地绘图系统
208 0
|
7月前
|
XML 小程序 Java
【Android App】三维投影OpenGL ES的讲解及着色器实现(附源码和演示 超详细)
【Android App】三维投影OpenGL ES的讲解及着色器实现(附源码和演示 超详细)
128 0
|
缓存 C++
Opengl ES之FBO
Opengl ES连载系列
156 0
|
存储 编解码 算法
Opengl ES之LUT滤镜(上)
Opengl ES之连载系列
465 0
|
数据安全/隐私保护 开发者
OpenGL ES 多目标渲染(MRT)
Opengl ES连载系列
325 0
|
数据安全/隐私保护 索引
Opengl ES之纹理数组
Opengl ES连载系列
261 0
|
数据安全/隐私保护
Opengl ES之水印贴图
Opengl ES之连载系列
154 0
|
Java 数据安全/隐私保护 Android开发
Opengl ES之矩阵变换(下)
Opengl ES连载系列
134 0
|
Java API 数据安全/隐私保护
Opengl ES之矩阵变换(上)
Opengl ES连载系列
150 0
|
存储
Opengl ES之踩坑记
Opengl ES之连载系列
143 0