OpenGL中glMatrixMode()函数以及视图变换,模型变换,投影变换,视口变换的理解

OpenGL的视图变换过程包括视图、模型、投影和视口变换。视图变换使用gluLookAt(),模型变换通过glTranslate(), glRotate(), glScale()实现。glMatrixMode()函数切换矩阵模式,如GL_PROJECTION用于投影变换,glFrustum()和gluPerspective()创建透视投影,glOrtho()生成正交投影。投影变换确定视野和物体可见性,视口变换则调整最终图像大小。" 4242076,55756,BIOS中的Keyboard系统解析,"['BIOS编程', '键盘接口', '中断处理', '80x86架构', '汇编语言']

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

OpenGL中的视图可以利用照相机来进行比拟。产生目标的场景的变过过程类似于相机拍照。此步骤大概分为三个:

1)把相机固定在三角架上,并让它对准场景(视图变换)

2)对场景安排,使得各个物体在招片中的位置是我们所希望的(模型变换)

3)选择照相机的镜头,并调整放大的倍数(投影变换)

4)确定最终照片的大小,放大(视口变换)

完成这些步骤就可以进行场景的绘制了。

在这个过程中,我们可以把场景长中的物体的坐标变换关系表示为如下情况:

物体坐标(顶点)——模型视图矩阵(视觉坐标)——投影矩阵(剪裁坐标)——透视除法(规范化设备坐标)——视口变换(窗口坐标)



视图变换

视图变化相当于对照相机进行操作。首先利用glLoadIdentity()函数对矩阵进行初始化,将当前的矩阵设定为单位矩阵。然后再把它与视图变换矩阵相乘。视图变换矩阵利用函数gluLookAt()函数进行指定。

void gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值