基于opengl绘制场景地形漫游:鱼+池塘+树+房屋建筑+喷泉+地形
程序员文章站
2022-03-05 14:49:09
...
一、开发环境说明
- 操作系统:windows
- 开发软件:Visual Studio 2017
- 编程语言:基于控制台下的opengl
- 用到的库:gl、 glu
二、内容说明
1 、功能介绍
- 导入的3DS房屋建筑模型
- 实现字体显示:在屏幕上实时显示文字
- 实现天空盒:有6张图封闭成一个天空盒子
- 实现地形:根据地形图片,提取高度,实现地形效果;
- 实现纹理贴图:
- 实现粒子效果:逼真的喷泉效果
- 实现光照效果
- 实现摄像机漫游效果
2、操作说明
- 按键‘W’ :控制视角前进
- 右键‘S’ :控制视角后退
- 空格键 :实现跳跃
- 鼠标滑动:转动视角
3、程序目录截图
4、程序部分代码展示
void GL_House::DrawDoor()
{
//door 绘制房屋的门
glBindTexture(GL_TEXTURE_2D, m_housetexture[4]);
glBegin(GL_TRIANGLES);//绘制三角形
for(int i = 0; i < 12; i += 3)
{
glTexCoord2f(m_door_texcoord[i].x,m_door_texcoord[i].y);//纹理
glVertex3f(m_door_vertex[i].x, m_door_vertex[i].y, m_door_vertex[i].z);//顶点1
glTexCoord2f(m_door_texcoord[i+1].x,m_door_texcoord[i+1].y);
glVertex3f(m_door_vertex[i+1].x, m_door_vertex[i+1].y, m_door_vertex[i+1].z);//顶点2
glTexCoord2f(m_door_texcoord[i+2].x,m_door_texcoord[i+2].y);
glVertex3f(m_door_vertex[i+2].x, m_door_vertex[i+2].y, m_door_vertex[i+2].z);//顶点3
}
glEnd();
}
5、 运行效果展示
三、代码下载
- 整个代码工程下载