欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

基于opengl绘制场景地形漫游:鱼+池塘+树+房屋建筑+喷泉+地形

程序员文章站 2022-03-05 14:49:09
...

一、开发环境说明

  • 操作系统:windows
  • 开发软件:Visual Studio 2017
  • 编程语言:基于控制台下的opengl
  • 用到的库:gl、 glu

二、内容说明

1 、功能介绍
  • 导入的3DS房屋建筑模型
  • 实现字体显示:在屏幕上实时显示文字
  • 实现天空盒:有6张图封闭成一个天空盒子
  • 实现地形:根据地形图片,提取高度,实现地形效果;
  • 实现纹理贴图:
  • 实现粒子效果:逼真的喷泉效果
  • 实现光照效果
  • 实现摄像机漫游效果
2、操作说明
  • 按键‘W’ :控制视角前进
  • 右键‘S’ :控制视角后退
  • 空格键 :实现跳跃
  • 鼠标滑动:转动视角
3、程序目录截图

基于opengl绘制场景地形漫游:鱼+池塘+树+房屋建筑+喷泉+地形

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、 运行效果展示

基于opengl绘制场景地形漫游:鱼+池塘+树+房屋建筑+喷泉+地形
基于opengl绘制场景地形漫游:鱼+池塘+树+房屋建筑+喷泉+地形基于opengl绘制场景地形漫游:鱼+池塘+树+房屋建筑+喷泉+地形

三、代码下载

相关标签: Opengl opengl