- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 计算机图形学演示稿 纪玉波制作(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(); //设置单位
您可能关注的文档
- 第5章-世界市场.ppt
- 第5章-三维空间的观察.ppt
- 第5章-建筑给水排水工程.ppt
- 第5章-柴油机混合气的形成与燃烧.ppt
- 第5章-数控反馈测量元件.ppt
- 第5章-工程施工方案.ppt
- 第5章-结构单调加载静力试验.ppt
- 第5章-单片机的定时计数器与串行接口.ppt
- 第5章-中文数据库检索.ppt
- 第5章2节、企业并购估价.ppt
- 市应急管理局副局长在市安委办2025年度安全生产考核工作推进会上的讲话.docx
- 区人社局2025年工作总结和2026年工作谋划.docx
- 2025年县政府办公室关于公文抄袭问题专项整治自查自纠报告.docx
- 2025年支部书记抓基层党建述职报告.docx
- 社区2025年度城乡居民基本医疗保险参保扩面工作总结报告.docx
- 市直机关工委2025年度工作总结.docx
- 乡党委2025年度落实全面从严治党主体责任情况自查报告.docx
- 区信访局党组关于巡察反馈集中整改进展情况的报告.docx
- 文体广旅局党组关于落实市党委巡察暨推进中华民族共同体建设专项巡察反馈意见的整改报告.docx
- 市审计局2025年落实全面从严治党和党风廉政建设主体责任情况报告.docx
原创力文档


文档评论(0)