网站大量收购独家精品文档,联系QQ:2885784924

第5章图形变换2汇编.ppt

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 计算机图形学演示稿 纪玉波制作(C) * 六、OpenGL中的图形操作 在OpenGL中,如果想对图形进行操作,就要对这个图形的状态(当前的矩阵)乘上这个操作对应的一个矩阵。 如果乘以变换矩阵(平移, 缩放, 旋转), 相乘之后,图形的位置被变换。 如果三维图形乘以投影矩阵, 相乘后, 图形的投影方式被设置。 用来指定乘以什么类型矩阵的函数,是glMatriMode(GLenum mode)。glMatrixMode有3种模式: GL_PROJECTION 投影, GL_MODELVIEW 模型视图,GL_TEXTURE纹理。其中三维图形投影会使用glMatriMode(GL_PROJECTION)和glMatriMode(GL_MODELVIEW) 例如要对三维图形进行透视投影,编程时可以是: //设置当前矩阵为投影矩阵 glMatrixMode(GL_PROJECTION); //设置单位矩阵 glLoadIdentity(); //设置透视投影矩阵 gluPerspective(90.0, 1.0, 1.0, 20); //设置当前矩形到模型视景矩阵 glMatrixMode(GL_MODELVIEW); (后续是完成图形变换及绘制的相关语句) * 计算机图形学演示稿 纪玉波制作(C) * 七、main函数的主要语句 使用OpenGL函数编程使一般使用C语言形式,控制函数是main主函数。。 main函数一般会用到的几个函数。 1、glutInit,对GLUT进行初始化。当用到glut开头的函数时,这个函数对必须在其它的GLUT使用之前调用一次。一般照抄这句glutInit(argc, argv)就可以了。 2、 glutInitDisplayMode,设置显示方式,其中GLUT_RGB表示使用RGB颜色,与之对应的还有GLUT_INDEX(表示使用索引颜色)。GLUT_SINGLE表示使用单缓冲,与之对应的还有GLUT_DOUBLE(使用双缓冲)。 3、glutInitWindowPosition,设置窗口在屏幕中的位置。 4、glutInitWindowSize,设置窗口的大小。 5、glutCreateWindow,根据前面设置的信息创建窗口。 6、glutDisplayFunc,当需要进行画图时,这个函数就会被调用。 7、glutMainLoop,进行消息循环。 * 计算机图形学演示稿 纪玉波制作(C) * 八、编程举例 // OpenGL图形变换编程示例.cpp : Defines the entry point for the console application. // #include stdafx.h //OpenGL头文件 #include GL/glut.h //控制变量署名 float horiz_x = 0; //水平移动控制变量 float vert_y = 0; //垂直移动控制变量 float dist_z = 0; //远近移动控制变量 float rotate_angle = 0; //旋转移动控制变量 //显示主函数 void display(void) { //复位颜色、深度缓冲区 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //设置当前矩阵为投影矩阵 glMatrixMode(GL_PROJECTION); //设置单位矩阵 glLoadIdentity(); * 计算机图形学演示稿 纪玉波制作(C) * //设置透视投影矩阵 gluPerspective(90.0, 1.0, 1.0, 20); //glFrustum(-1.0,1.0,-1.0,1.0,1.0,20.0);//或使用此函数 //glOrtho (-1.0,1.0,-1.0,1.0,1.0,20.0);//或使用此函数 //设置当前矩形到模型视景矩阵 glMatrixMode(GL_MODELVIEW); //设置视点参数 glLoadIdentity(); //设置单位

文档评论(0)

花仙子 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档