# My-CG-Project
### 计算机图形学-大作业,使用OpenGL创造出一个可交互场景,完成建模、光照、材质、阴影等功能
## 场景预览
![Image of p1](img/p1.jpg)
## 模型的层次结构框图
![Image of p2](img/p2.jpg)
![Image of p3](img/p3.jpg)
## 键盘的交互
### 按键1:切换到场景视图
#### 在这个视图下,用户以上帝视角查看周围环境,在这个视角下,允许使用的操作有上、下、左、右键分别移动相机的角度,滑轮控制相机的远近。
![Image of p4](img/p4.jpg)
### 按键2:切换到人视图
#### 在这个视图下,用户以人视角观看场景,用户允许使用的操作是w、a、s、d,分别控制人的前进、左转、后退、右转,效果如下。
![Image of p5](img/p5.jpg)
### 按键3(或者f键):切换到汽车视图,开车
#### 这个视图下,用户以人视角观看场景,用户允许使用的操作是w、a、s、d,分别控制汽车的前进、左转、后退、右转,效果如下。
![Image of p6](img/p6.jpg)
opengl大作业-可交互场景.zip
需积分: 0 63 浏览量
更新于2024-01-06
收藏 24.6MB ZIP 举报
OpenGL是一项用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个"opengl大作业-可交互场景.zip"压缩包文件,显然包含了一个使用OpenGL进行开发的图形学项目,可能是一个大学或课程的大作业。这个项目的目标是创建一个可交互的场景,意味着用户可以通过某种方式与显示的3D模型或环境进行互动。
在图形学领域,OpenGL通常用于创建复杂的可视化应用,如游戏、模拟器、科学可视化工具等。OpenGL提供了大量的函数和特性,包括但不限于顶点处理、纹理映射、光照模型、深度测试、模板测试、混合以及着色器语言GLSL(OpenGL Shading Language)等。
1. **顶点处理**:OpenGL允许开发者指定图形的顶点,通过这些顶点可以构建线、面或者其他几何形状。顶点数据通常包含位置、颜色、法线(用于光照计算)和纹理坐标。
2. **纹理映射**:OpenGL支持将图像数据贴到3D模型表面,增加细节和真实感。这通常通过纹理坐标和纹理单元来实现。
3. **光照模型**:OpenGL提供了多种光照模型,如环境光、漫反射光、镜面高光,用于模拟真实世界的光照效果。
4. **深度测试**:确保物体的前后关系正确,避免出现穿模现象。
5. **模板测试**:用于实现复杂效果,如阴影、雾化等。
6. **混合**:用于透明效果和混合不同图层。
7. **GLSL**:OpenGL着色器语言,允许开发者编写运行在GPU上的自定义着色程序,包括顶点着色器、片段着色器等,以实现更高级的图形效果。
项目中的"My-CG-Project-master"很可能包含了源代码、资源文件、配置文件等。源代码通常会包含初始化OpenGL上下文、设置视口和投影、加载模型、处理输入、绘制场景、编译和链接着色器等步骤。资源文件可能包括纹理图像、3D模型文件等。readme.txt文件通常用于提供项目介绍、编译和运行指南、依赖库说明等信息。
为了完成这个大作业,学生需要具备C++编程基础,理解计算机图形学的基本概念,并熟悉OpenGL API的使用。此外,对数学知识有一定要求,如向量代数、矩阵变换、几何原理等。项目完成后,不仅能够展示学生对OpenGL的理解,还能体现其在图形交互设计和实时渲染方面的能力。
白如意i
- 粉丝: 1w+
- 资源: 3209
最新资源
- 基于强化学习的多目标跟踪器Matlab代码.rar
- 基于线的扩展卡尔曼滤波器用于机器人在V-Rep上的定位Matlab代码.rar
- 基于有限差分法计算固结过程中单层和双层排水的孔隙水压力随时间的变化Matlab实现.rar
- 基于通信的无人机集群任务Matlab代码.rar
- 基于最大最小特征值(CMME)组合的认知无线电频谱感知 matlab代码.rar
- 计算高斯光束束腰半径调节Matlab代码.rar
- 计算无人机航程和续航力的matlab项目 matlab代码.rar
- 建立了连续时间EKF、混合EKF和离散时间EKF的性能比较Matlab程序.rar
- 卡尔曼滤波器设计与Matlab仿真。考虑了静态和时变卡尔曼滤波器.rar
- 卡尔曼滤波器 EKF 和 SLAM附Matlab代码.rar
- 考虑表面形貌对研究的影响时,模拟出生高斯或非高斯表面 matlab代码.rar
- 扩展卡尔曼滤波器Matlab代码.rar
- 开发计算扭矩控制器、计算扭矩控制器以及具有恒定、抛物线和正弦参考的 EKF 和 Li-Slotine 控制器.rar
- 离散E的电容式设施选址问题的深度强化学习Matlab代码.rar
- 扩展卡尔曼滤波器同步本地化方法的情感评价模块(ECF-SAEM)Matlab代码.rar
- 田螺去尾巴机3D图纸和工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip