- 13
- 0
- 约2.91千字
- 约 4页
- 2020-11-19 发布于浙江
- 举报
实验5 OpenGL模型视图变换
实验目的
理解掌握OpenGL程序的模型视图变换。
2.实验内容
(1)阅读实验原理,运行示范实验代码,理解掌握OpenGL程序的模型视图变换;
(2)根据示范代码,尝试完成实验作业。
3.实验原理
在OpenGL程序中,视图变换必须出现在模型变换之前,但可以在绘图之前的任何时候执行投影变换和视口变换。
(1)定的视图变换之前,应该使用glLoadIdentity()函数把当前矩阵设置为单位矩阵。
(2)在载入单位矩阵之后,使用gluLookAt()函数指定视图变换。如果程序没有调用gluLookAt(),那么照相机会设定为一个默认的位置和方向。在默认的情况下,照相机位于原点,指向Z轴负方向,朝上向量为(0,1,0)。
(3)一般而言,display()函数包括:视图变换 + 模型变换 + 绘制图形的函数(如glutWireCube())。display()会在窗口被移动或者原来先遮住这个窗口的东西被一开时,被重复调用,并经过适当变换,保证绘制的图形是按照希望的方式进行绘制。
(4)在调用glFrustum()设置投影变换之前,在reshape()函数中有一些准备工作:视口变换 + 投影变换 + 模型视图变换。由于投影变换,视口变换共同决定了场景是如何映射到计算机的屏幕上的,而且它们都与屏幕的宽度,高度密切相关,因此应该放在reshape()中。r
原创力文档

文档评论(0)