Opengl ES之矩阵变换(下)

前言

在上一节 《Opengl ES之矩阵变换(上)》 中,我们通过矩阵变换实现一个一些形变的效果。

如果细心的童鞋们可能会发现,我们的运行结果渲染的图片宽高明显是有些变形了,特别是在手机屏幕旋转为横屏之后,变形更加的明显,
那么如果希望无论是横屏还是竖屏都希望渲染的画面可以参照宽高等比拉伸显示该如何处理呢?同时这个需求也是播放器渲染视频画面时的一个基本需求,
通过矩阵的正交投影就能够很好低解决这个问题。

OpenGL中的坐标系及矩阵变换过程

下面这张图展示了OpenGL ES 中的坐标系及矩阵变换过程:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OxRvjxKW-1679379695243)(https://flyer-blog.oss-cn-shenzhen.aliyuncs.com/opengl%E5%9D%90%E6%A0%87%E7%B3%BB%E7%BB%9F%E5%8F%98%E6%8D%A2.png)]

通过上面这张图可以看到一个物体最终在屏幕上显示出来,需要经过5个坐标系统之间的变换,而这些变换都是依靠矩阵变换完成的。

下面简单介绍以下这五个坐标系统:

  • 局部空间(Local Space,或者称为物体空间(Object Space))

局部坐标是对象相对于局部原点的坐标,也是物体起始的坐标。假如我们有一张图,设定这张图的中心为坐标原点(0,0),左上角的坐标点为(-1,-1)那么这个物体的局部空间坐标系统。

  • 世界空间(World Space)</

猜你喜欢

转载自blog.csdn.net/u012944685/article/details/129687792