虚拟现实技术汪日伟craftcub@163.com网络资源••课件•ftp•示例见•ftp实验时间安排•2008-09-09;2008-10-07;•2008-10-14;2008-10-28;•2008-11-11;2008-11-25;•2008-12-09;2008-12-23人类感知世界的途径•亲眼所见(视觉,听觉,触觉,嗅觉,参与者)•图片/照片(视觉,旁观者)•电影/录像(视觉,听觉,旁观者)•虚拟现实(视觉,听觉,触觉,参与者/旁观者)定义•利用头盔显示器、图形眼镜、数据服、立体声耳机、数据手套及脚踏板等传感装置,把操作者与计算机生成的三维虚拟环境连结在一起。操作者通过传感器装置与虚拟环境交互作用,可获得视觉、听觉、触觉等多种感知,并按照自己的意愿去改变“不随心”的虚拟环境。•一种高端的人机接口,包括通过视觉、听觉、触觉、嗅觉和味觉等多种感觉通道的实时模拟和实时交互应用•军事仿真•艺术•教育/培训•医学•工业制造VR在医学中的应用•虚拟解剖==〉虚拟人、虚拟器官•电影:黑客–应对恐怖事件的紧急医疗培训–新药试验–内窥镜检查培训–手术培训–心理认知康复•克服恐高教育、艺术和娱乐•教育–化学、物理、生物等实验•艺术–文化遗产保护•娱乐–游戏军事•Stinger训练器•虚拟舰艇•虚拟飞行•虚拟沙盘X-Plane----AustinMeyer•虚拟原型的设计和验证•虚拟装配•虚拟人机工程学•机器人领域奥迪效果图和线框图信息可视化•油气勘探•体数据可视化应用•工程的设计和规划–波音公司完全使用虚拟现实技术设计波音777新型客机获得成功–多伦多市(Toronto)的城市规划与管理–城市规划–大型工程漫游–名胜古迹虚拟旅游–数字化酒店展示系统•虚拟WebVrml•第二代WWW标准语言VRML虚拟社区Secondlife中国人的SecondLife•条条大路通北京--北京实力空间网络科技有限公司•《HiPiHi世界》--海皮士公司•《由我世界》--优万网络科技(北京)有限公司•中视典数字科技有限公司,总部注册于深圳高新技术园区,成立于2002年,北京分公司成立于2005年1月。是从事虚拟现实与仿真、多媒体技术、三维动画研究与开发的专业机构,是国际领先的虚拟现实技术(virtualrealityTechnology)整体解决方案供应商和相关服务提供商。•北京万方视景科技有限公司(www.vrcase.com)•北京阳光中图数字技术有限公司–以计算机三维图形技术为核心,业务范围涵盖图形仿真、地学工程三维仿真、地理三维可视化城市信息统计应用、地理资源三维建模与资源管理、虚拟现实、三维动画及多媒体信息产业等应用领域•北京优联威迅科技发展有限责任公司–以清华大学工业系仿真实验室雄厚的技术开发实力为基础,自成立之日起就以开发和制作适合中国虚拟仿真市场的仿真系统解决方案和适于推广的可视化软件平台为主要方向,立志创造中国虚拟仿真软硬件的旗帜名牌。公司现已独立研发了包括数据手套,虚拟环境的力反馈等系统,并成功实现了中国第一套动作捕捉系统填补了国内空白,成绩丰硕,已成为用户中国仿真界中首选的理想合作企业。•伟景行科技集团(GvitechTechnologies)是业界领先的三维可视化和专业显示技术开发及服务机构,由伟景行数字城市科技有限公司(GDC)、伟景行数字科技有限公司(GDT)以及清华规划院数字城市研究所(DCRC)等三大机构组成。分别为数字城市可视化、虚拟仿真模拟、和专业大屏幕显示,并且在各自领域中成为行业的领导者!••北京黎明视景公司是一家国际领先的虚拟现实(virtualreality简称VR)和三维可视化技术整体解决方案供应商,专门致力于基于PC平台的虚拟现实(VR)和视景仿真(Simulation)技术研究、计算机图形软硬件开发研制、视景仿真和虚拟现实系统集成及虚拟现实产品销售。•www.pcvr.com.cn基本框架设计•定义窗口类型•窗口类型注册•窗口创建•消息循环•消息处理窗口类的设计与实现CGLWindow创建windows窗口•Create函数GDI绘图•HDCdevicecontext•画笔•画刷OpenGL渲染•Renderingcontext•像素格式--PIXELFORMATDESCRIPTOR•像素格式的设置–ChoosePixelFormat–SetPixelFormat•窗口环境设备与OpenGL渲染设备的关联–wglCreateContext–wglMakeCurrentOpengl渲染环境•Glut•Windows键盘类CKeys框架类CGLApplication主要函数/**创建一个全局的Create函数,这个函数必须被继承类实现*/staticCGLApplication*Create(constchar*class_name);/**消息循环*/LRESULTCGLApplication::Message(HWNDhWnd,UINTuMsg,WPARAMwParam,LPARAMlParam)/**程序的主循环*/intCGLApplication::Main(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow)/**切换全屏/窗口模式*/voidCGLApplication::ToggleFullscreen(){PostMessage(m_Window,WM_TOGGLEFULLSCREEN,0,0);/**发送自定的切换消息*/}•CGLApplication::Message函数的处理过程图•CGLApplication::Main的处理过程图•主程序入口•消息处理•libjpeg.liblibpng1.libjpeg.lib特效设计•阴影•混合模板缓冲及其应用•典型应用:•镂空的花窗,可以把这个花窗需要空的部分绘出来,当作模板,使得在进行后续绘图时,落到这个模板上的图像不被绘制,就形成了镂空。一般步骤•指定默认模板值,用其清除模板缓冲区;•开启模板测试功能,指定模板比较函数,指定模板测试失败后对相应位置的模板值的操作方式;•用绘图命令绘制一个模板图形;•绘制其他图形。•清除模板缓冲区•glClearStencil(0);•glClear(GL_COLOR_BUFFER_BIT|GL_STENCIL_BUFFER_BIT)•glEnable(GL_STENCIL_TEST);•glColorMask(GL_FALSE,GL_FALSE,GL_FALSE,GL_FALSE);•创造的模板被看见•glDisable(GL_DEPTH_TEST);•绘制模板的不影响深度缓冲区接口设计•Windows消息•Win32SDK•DirectInputDirectInput•Installation•工程配置–需要包的头/库文件路径–包含头/库文件•创建DirectInput接口对象•创建设备对象虚拟现实引擎•游戏引擎和游戏的关系•模型,动画,声音,人工智能和物理学,人工智能•渲染器•建造3D世界•剔除概观•基本的图形管线流程