opengl 入门学习 随笔十

在三维世界中,我们定义,根据观察者来观看模型的矩阵叫模型视图矩阵,其实也是相对的,模型相对于观察者来说;

当把模型映射到照相机的平面时要用到投影矩阵的概念;

同时将可以在照相机的平面定义视口的大小,这就是视口矩阵。

glMatrixModel(GL_MODELVIEW);
glLoadIdentity();
表示当前矩阵为模型视图矩阵,并且设置为单位阵。

进行模型视图变换主要涉及到三个函数:

glTranslate*
glScale*
glRotate*
分别表示平移、缩放和旋转。还有要注意,其实每一个操作相当于在当前矩阵上乘以了一个矩阵,所以代码的顺序和实际变换的顺序正好相反。

glMatrixModel(GL_PROJECTION);
glLoadIdentity();
表示当前矩阵为投影矩阵,并将其设置为单位阵。

可根据

glPerspective
glFrustum
这两个函数将当前的可视空间设置为透视投影空间;

可使用

glOrtho
函数设置当前可是空间为正交投影空间。
最后可以使用
glViewport
来定义视口。
在程序中我们经常要修改各种各样的矩阵,那么为了不将他们混淆,可以随时回到之前的状态;

glPushMatrix
glPopMatrix
负责保存和提出矩阵。
gluLookAt前三个参数表示观察者的位置,中间三个参数表示观察目标的位置,最后三个参数代表(0,0,0)到(x,y,z)的直线,它表示了观察者认为的“上方向”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值