看图说话:OpenGL模型矩阵和投影矩阵



 本文的内容有:

1.控制观察角度和观察位置。

2.模型中不需要的部分从场景中裁剪出去。

3.熟练操控良好的矩阵栈,这些矩阵栈控制着模型转换,到屏幕的映射。

4.联合多个转换来模拟复杂的运动系统,例如:太阳系和一个关节手臂。

 

现在开始吧。

拿相机作比喻,相机就相当于电脑屏幕。相机的中心就在屏幕的中心。

 


看图说话:OpenGL模型矩阵和投影矩阵_第1张图片


 2.渲染管线。投影阶段分为两个。实在是不解。
看图说话:OpenGL模型矩阵和投影矩阵_第2张图片
 3.令人惊讶的是矩阵竟然是按列来排列的。每一行代表的是一组基中的一维,估计是为了在使用一维数组时,跟向量通用。
看图说话:OpenGL模型矩阵和投影矩阵_第3张图片
 4.让我感到更迷惑的是:函数调用

 glRotate

 glTranslate

的调用顺序与变换顺序是相反反的,左边的是先glTranslate glRotate

右边的才是 glRotate和glTranslate。

据说跟传说中的很奇怪的定律有关系(大学时候经常在此翻跟头):矩阵乘法不满足交换律。
看图说话:OpenGL模型矩阵和投影矩阵_第4张图片

4.所有仿射变换的实质是【基】的变换,也就是坐标系的变换。
看图说话:OpenGL模型矩阵和投影矩阵_第5张图片
 
看图说话:OpenGL模型矩阵和投影矩阵_第6张图片
 
看图说话:OpenGL模型矩阵和投影矩阵_第7张图片
 


 5.“改变的不是人,而是风景”的真正含义。

glLookAt:

 原来屏幕里面还有很多东西,默认是看不到的。想看看现在的原点是什么样子?拿着相机向后移动near距离!可是,相机还是那个电脑屏幕!好吧,那我们把整个世界向后移动! 

看图说话:OpenGL模型矩阵和投影矩阵_第8张图片
 
 

你可能感兴趣的:(android,OpenGL)