基于C++和opengl实现太阳系动画演示系统 课程论文+项目源码

资源下载地址:https://download.csdn.net/download/sheziqiong/85749809
资源下载地址:https://download.csdn.net/download/sheziqiong/85749809
目录

项目选择

核心技术细节

开发环境

体系结构概要

类详细介绍

TextureManager

Star

SolarSystem

Camera

总体逻辑介绍

全局变量

int main(int argc, char **argv)

void init()

void display()

void onTime(int value)

void onKeyDown(unsigned char key, int x, int y) 与void onKeyUp(unsigned char key, int x, int y)

小结

项目效果展示

运行演示

工作量

原创性

参考资料

项目选择

我选择的是opengl实现太阳系的项目。实现了月球绕地球转、地球绕太阳转的动画、第一人称摄像机、全局上帝视角、地球视角、材质贴图、Phong Shading等要求。

本项目的设计思想参照前端设计与游戏设计中常见的“数据驱动”的方式,核心思路就是在控制阶段(初始化阶段、键盘控制回调、显示的回调等)更新各个对象的状态(属性值),在绘制阶段(每帧)集中使用对象的状态。这样做最大的益处在于对对象的操作只需要简单地修改其状态属性即可,而对这些状态的使用可以集中在同一个地方,极大地减少了代码量与耦合度,提高了开发效率与维护便利性。

类详细介绍

本项目涉及的类一般有两个功能:保存一些状态与被动地根据自身状态调用opengl的API来完成某种功能。状态的保存、API的调用均由主逻辑控制。这一节先介绍各个类的功能。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
资源下载地址:https://download.csdn.net/download/sheziqiong/85749809
资源下载地址:https://download.csdn.net/download/sheziqiong/85749809

猜你喜欢

转载自blog.csdn.net/newlw/article/details/125424842