一、开发环境说明

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

二、内容说明

1 、功能介绍
-- 实现场景漫游
-- 实现按键交互功能;
-- 实现纹理贴图;
-- 实现光照效果
2、操作说明
  --按键 '上'  :前进--按键 '下'  :后退--按键 '左'  :左转--按键 '右'  :右转--按键 'A'   :向左平移--按键 'D'   :向右平移--按键 'W'   :垂直上移--按键 'D'   :垂直下移--Page u     : 仰视--Page down  :俯视--按键 'L'   :白天/夜晚(环境光/散射光)开关--按键 'B'   :透明混合开关--按键 'G'   :路灯电源开关
3、程序目录截图

4、程序部分代码展示
//初始化,设置光源,打开纹理开关
void SceneInit(int w, int h)
{LoadGLTextures();          //条到处理调用位图并用此位图建立纹理的子程序glEnable(GL_TEXTURE_2D); //纹理被创建,并允许2D纹理贴图glShadeModel(GL_SMOOTH);glClearColor(0.0, 0.0, 0.0, 0.5);glClearDepth(1.0f);glEnable(GL_DEPTH_TEST);glDepthFunc(GL_LEQUAL);glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);//设置光源参数glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);        //设置环境光glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);      //设置漫反射光glLightfv(GL_LIGHT1, GL_POSITION, LightPosition);   //光源的位置glEnable(GL_LIGHT1);                             //允许光源一glColor4f(1.0f, 1.0f, 1.0f, 0.5);                    //全亮度,50%的透明glBlendFunc(GL_SRC_ALPHA, GL_ONE);                   //基于半透明的混合方式
}
5、 运行效果展示


三、代码下载

  • 整个代码工程下载

opengl虚拟校园漫游相关推荐

  1. 基于VRML的虚拟校园漫游系统源代码

    这是我软件工程的作业,其实只是一个雏形,谈不上什么功能,但是每个程序员经历千辛万苦,就算写出一堆垃圾,都想拿出来溜溜,所以.... 源代码,wrml文件,需求分析,可行性分析,概要设计,详细设计,编码 ...

  2. js 判断支持webgl_基于WebGL无插件虚拟场景漫游技术如何构建?ThingJS

    #三维可视化##3D开发# WebGL, ThingJS及3DSMAX 虚拟场馆漫游技术构建 基础组件 加载三维模型 实现虚拟漫游 渲染优化 如果要构建一个具有交互性和拓展性的沉浸式漫游场景,常用到3 ...

  3. js判断是否支持webgl_基于WebGL无插件虚拟场景漫游关键技术(完全版)ThingJS

    #三维可视化##3D开发# WebGL, ThingJS及3DSMAX 虚拟场馆漫游技术构建 基础组件 加载三维模型 实现虚拟漫游 渲染优化 如果要构建一个具有交互性和拓展性的沉浸式漫游场景,常用到3 ...

  4. 基于OSG的虚拟校园系统的设计与实现

    基于open scene graph的虚拟校园系统的设计与实现 摘要 •引言 • OSG基本原理 •OSG操作与动画 •视点的定位和切换 •自由漫游 •路径漫游 • 路径动画 • 点选和文字 • 粒子 ...

  5. 是时候贴上校园漫游的成品了【记录】

    福州大学虚拟校园系统开发记录 [最终成品]

  6. 虚拟校园网络组件开发笔记

    最近帮助本科"虚拟校园"项目小组做了网络组件的开发,历时三天,在回顾旧知识的同时遇到了一些新的问题. 最开始考虑调用第三方API实现网络功能,在网上找到了两个网络组件库POCO.R ...

  7. 基于opengl的3d漫游游戏 - 古堡危机之丧尸围城

    作品名称: <古堡危机> 小组团队名称: 拾荒三人组 日期:2018年12月 目录 第一章 简介 3 前言 3 项目的创意设想.游戏类型.实现的功能.项目意义 3 Opengl 4 作品代 ...

  8. 基于WebGL的虚拟太阳系漫游技术实现 ThingJS 科幻片

    #三维可视化##3D开发# 虚拟功能需求 2. 太阳系运行需求 3. 3D模型呈现 4. ThingJS技术分析 5. 系统实现步骤 3D可视化技术逐渐应用到现代多媒体的课堂教学中. 虚拟太阳系是一款 ...

  9. 基于HTML5的WebGL经典3D虚拟机房漫游动画

    第一人称在 3D 中的用法要参考第一人称在射击游戏中的使用,第一人称射击游戏(FPS)是以第一人称视角为中心围绕枪和其他武器为基础的视频游戏类型 ; 也就是说,玩家通过主角的眼睛来体验动作.自从流派开 ...

  10. Java课程设计记录——虚拟校园系统

    本文着重介绍在项目开发过程中遇到的问题和解决方案. 1.数据库配置与连接 要求使用access数据库.首先,什么是数据源 讲解.我们可以直接在cmd中输入下列语句打开ODBC管理程序 %windir% ...

最新文章

  1. RabbitMQ 入门系列(1)— Ubuntu 安装 RabbitMQ 及配置
  2. 【sublime Text】sublime Text3安装可以使xml格式化的插件
  3. HTML5对音频的支持
  4. 谈谈我对Spring IOC的理解
  5. 【最新合集】编译原理习题(含答案)_8-10语法制导翻译_MOOC慕课 哈工大陈鄞
  6. 报表怎样实现滚动的公告效果?
  7. 飞鸽传书确保服务数据的安全可靠
  8. 安卓案例:标签页演示
  9. mega2560电脑识别不到端口后_Qt音视频开发41-人脸识别嵌入式
  10. python比较文件的修改时间,如何比较python中两个文件的修改日期?
  11. 随想录(中断中真的不能上下文切换吗)
  12. java布类型的常量,java数据类型;常量与变量;
  13. LINUX关于休眠、待机和睡眠的问题
  14. TypeError: ‘dict‘ object is not callable-已解决
  15. 为什么order by 数据都一样_每一只股票的开盘价格都不一样,为什么会这样?
  16. 使用Python和Asyncio编写在线多人游戏(三)
  17. Oracle database 11g release2发布
  18. GNS3安装和使用教程
  19. Python-pandas拆分列与堆叠列
  20. 如何使用移动云搭建个人网站(保姆级教程)

热门文章

  1. matlab非牛顿流体,可用于常见非牛顿流体的数值模拟方法与流程
  2. 合批/批量渲染 (Batch)、实例化Instancing
  3. 服务器虚拟化思维导图,虚拟语气思维导图解析.ppt
  4. Linux搭建Redis集群(搭建集群必看)
  5. 怎么用虚拟机安装Windows XP?
  6. matlab标注图例位置,MATLAB中标注图例
  7. 各种分类算法优缺点比较
  8. 预测控制(一):MPC轨迹跟踪
  9. 苏州市企业工程技术研究中心
  10. 你可能需要的各个行业年度总结 ppt 模板