- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3D魔方周喆报告要点
华中科技大学光电学院
课程设计报告
2016年5月
名 称: 软件课程设计
题 目: 基于OpenGL的3D旋转魔方实现
院 系: 光学与电子信息科技学院
班 级: 集成1502班
学 号: U201514045
学生姓名: 周 喆
指导教师: 刘 卫 忠
设计周数: 13
成 绩:
日期: 2016 年 5月 23日
基于OpenGL的3D旋转魔方实现
——个人报告 周喆
一.软件课设的目的
在当今这一信息时代,学好计算机编程语言有着不言而喻的重要性,对我们集成专业的学生来说,掌握好C语言,了解计算机程序设计与编写,对将来学习单片机,硬件描述语言等有着重要的启发引导作用。这个课程的设置是为了我们了解软件编写的过程,在实践操作中了解C语言的应用,培养良好的编程思维与健康的编程习惯,同时对编程产生兴趣。在程序设计的过程中查阅资料,发现问题,解决困难,提高了我们的能力。
前期的学习
刚开始接触这个课设,我很是畏难,对结构体、函数等C语言知识一无所知,更不要说win32程序的创建和opengl的函数了。于是我提前自学了C语言的基础知识,了解了结构体、函数、以及win32程序编写的一些知识。另外,在网站上查询了大量资料,对openg中各个函数的功能有了初步的了解与认识,通过实践操作,体会到opengl函数的具体作用。
三.取得的成果
通过这次软件课程设计,我自学了许多C语言的知识,了解了老师上课讲授的知识的具体应用。在看懂老师的2阶魔方的程序的基础上又参考了一些前人的cpp程序,最终完成了自己的3阶魔方小程序。其可以在一定视线范围内自我旋转与平移,也可以实现各个层面的随机旋转,还可以通过键盘控制自由运动。同时,通过各个层面的贴图我制作出一个非常漂亮的魔方,载入了背景音乐Beyond乐队的《不再犹豫》增加了程序的趣味性。 同时,在这次课设中我学习了大量的C语言的知识,对课本上比较抽象的知识有了相对深入的了解,进行大量实践,学习了opengl库中许多重要的函数,掌握了window程序开发的一些步骤,与软件设计中的一些技巧。
四.完成的工作
在整个工作中作为小组的组长我做的工作如下:建立整个工程,对整个工程中的变量定义,函数声明与应用;实现了纹理的创建加载与映射,创造出一个自认为比较漂亮的魔方体;了解Win32程序消息循环机制,通过计时器的应用,实现三阶魔方各层面绕各个轴的各个方向随机旋转,并能反复循环;对整个程序进行调试,修改错误,解决功能实现过程中出现的问题,对一些算法进行优化,并加入一些属于我们小组自己的特色,如背景的更改,背景音乐的添加。最后完成了我们小组整体实验报告。
五.功能的实现
(1) 实现贴图
为了对中午27个小立方体的各个面进行贴图操作步骤如下。
创建全局纹理数组
GLuint picture[6];
加载位图文件创建加载纹理
将位图读取到内存空间,实现纹理的创建
AUX_RGBImageRec *TextureImage[6]; // 创建一个纹理图像数组
for(int i=0; i6; i++) // 遍历位图名称数组,根据位图名称分别生成{?? if (TextureImage[i]=LoadBMP(pictures[i])) // LoadBMP为之前定义的函数通过文件指针的运用,根据位图文件的名称进行加载,并判断文件是否加载成功。
加载位图i成功,修改状态标志变量Status为TRUE?? {??? Status=TRUE;????????
?? glGenTextures(1, picture[i]);???? // 为第i个位图创建纹理?? glBindTexture(GL_TEXTURE_2D, picture[i]); // 将生成的纹理的名称绑定到指定的纹理上?? glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[i]-sizeX, TextureImage[i]-sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, Textu
您可能关注的文档
最近下载
- 精品解析:2023-2024学年浙江省温州市乐清市统编版六年级上册期末考试语文试卷(解析版).docx VIP
- 浙江省温州市乐清市2023-2024学年三年级上学期语文期末试卷 解析版.docx VIP
- 研讨会(一):战略设计的思维、方法与实践 30Aug2011 LY-BEI-C.pptx VIP
- 彩云追月完整版本.ppt VIP
- 2023年济宁医学院临床医学专业《病理学》科目期末考试卷B.docx VIP
- 《环境监测技术》课程标准.doc VIP
- 浙江省温州市龙湾区2023-2024学年四年级上学期语文期末试卷 解析版.docx VIP
- 东瑞制药搬迁项目环评报告(全本公示版).pdf
- 24DX002-1建筑电气与智能化通用规范图示.pdf VIP
- 五年级语文上册课外必读书《非洲民间故事》练习题及答案全.pdf VIP
文档评论(0)