OpenGL模型视图变换,投影变换及视口变换

 

用照相机比喻从绘制三维物体到二维屏幕显示的变换过程:

1 视图(视点)变换:把相机放在三角架上,并对准场景;

2 模型变换:对场景进行安排,使物体在照片中位于你所希望的位置;

3 投影变换:选择相机的镜头,调整放大倍数;

4 视口变换:确定照片的大小。

在代码中,视图变换必须放在模型变换之前,但可以在绘图之前的任何时候执行投影变换和视口变换。视图变换函数gluLookAt()和模型变换函数glTranslate()等通常放在函数display()中,而视口变换函数glViewport()和投影函数glFrustum()等放在reshape()中。

display()函数里包含了视图变换、模型变换、以及绘制场景的函数。这样display()函数被重复调用,以绘制窗口的内容。display()潜在的重复使用性强调了执行视图和模型变换之前必须载入单位模型视图矩阵(即调用glLoadIdentity()函数)。reshape()函数包含了视口变换和投影变换,当窗口初次创建、移动或改变形状时,

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值