[OpenGL]OpenGL几何变换的秘密(模型变换、视点变换、全局变换、局部变换)

本文介绍了OpenGL中的几何变换,包括模型变换、视点变换以及全局和局部变换的概念和应用。模型变换通过改变物体位置实现,视点变换则调整观察者的视角。全局变换在世界坐标系中操作,而局部变换则在模型坐标系内进行,对于复杂模型的组件变换,局部变换提供更便捷的计算方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.模型变换(Model transformation)---- 视点不变,变物体

我们在OpenGL中通过定义一组顶点来定义一个模型,我们遇到的平移、缩放、旋转等变换都可以理解为模型变换,视点不变,主要对物体进行操作。

在OpenGL中,我们使用glMatrixMode(GL_MODELVIEW)来处理模型变换,我们知道OpenGL使用堆栈管理矩阵,所以我们有不同的堆栈进行管理,有模型变换矩阵堆栈,视点变换矩阵堆栈,还有纹理变换矩阵堆栈等等,这句话就是告诉OpenGL,我们要处理模型变换。

2.视点变换(View transformation)---- 物体不变,变视点

OpenGL成像主要是采用虚拟相机模型,在场景中我们通过模型变换,将物体放在场景中不同的位置,最终哪些部分需要显示在屏幕上,主要是由视点变换、投影变换等决定。视点变换阶段,我们通过假想的相机来处理矩阵计算。,所谓的视点空间,视点坐标系都是为了方便处理,引入的坐标空间。
在OpenGL中,我们主要使用

gluLookAt(eyex,eyey,eyez,centerx,centery,centerz,upx,upy,upz)

来达到模拟物体不动,变换视点的效果

总结
其实两者本质上是一样的,gluLookAt()还是只是计算出了一个变换矩阵


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值