利用VC++开发语言
基于OGRE引擎
实现类似于Google earth 那样的区域地图多层动态加载(三维空间状态下)
能提供一个中间处理层及算法也可以
[2018-02-26 01:07:01 增加内容]
封装Ogre 1.7以卫星图片为基础的地形渲染系统插件
外包项目说明:
委托方:大连伟岸纵横科技发展有限公司
受托方:沈
外包项目要求受托方公开全部源代码,插件中所用到的第三方类库应全部为开源类库,不得使用未经许可授权的第三方类库。
一:地球地形系统插件概述
此次封装的地形插件目的为:渲染以真实卫星图片为基础的地形系统,该插件能与Ogre1.7版本结合。
委托方可通过对该地形插件的配置,从而生成一个支持无限大无缝加载的地形系统。
二:技术要求
1.效率要求:
在主流pc电脑,512mb显存 渲染效率达到60fps以上,内存使用不得超出300mb。
2.资源加载:
地形系统所用到的所有图片资源均为网络资源,由远程服务器下载而来。渲染与资源加载应异步通讯。当摄像机到达某一区域时,地形系统首先对本地文件进行检索,如果未在本地找到渲染所需要的纹理,再从网络服务器端下载该图片并存储到本地,以备下次加载时使用。
3.开放配置接口:
为委托方预留 初始化/渲染中 改变地形系统的配置接口
① 地形大小 地形对应三维空间中的宽/高值(正方形)。
② 地形纹理层级 缺省情况下为3层纹理,委托方可对该参数的设置来配置地形的
层数。
③ 地形坐标 缺省情况下地形中心点为(0,0,0)点,委托方可通过配置该参
数从而整体垂直或水平移动地形的位置。
④ 阴影与光照设置 可在渲染中动态切换 开启/关闭 阴影设置,支持pssm整体场景
阴影,能够接受其他三维模型所产生的投射阴影。可接收场景中灯光光照信息,包括方向光\点光\与聚光灯 的光照并生成地形自身的阴影。
⑤ 透明度设置 可动态更改任意一层的任一地形贴图透明度,从而达到半透明或全透明渲染地形。
⑥ 产生高程信息 通过加载高度图使地形产生高低起伏。
⑦ blendmap 通过加载blendmap对地形系统的最后一层纹理 绘制细节纹理,支持多层纹理混合。所有混合纹理材质支持高光贴图、凹凸贴图。
⑧ 顶点buffer 能够后台更改顶点缓冲的顶点坐标信息,从而可拓展对地形的编辑功能。
⑨ 动态lod 通过摄像机位置对所有顶点进行lod优化,对于摄像机视角以外或很远的地方不需要细致表现,采取lod减少渲染面数与渲染批次。
10 提供返回地形高度以及鼠标射线检测点坐标的数学函数,可以通过鼠标射线检测得到相交点坐标。
[2018-02-26 01:22:39 增加内容]
封装Ogre 1.7以卫星图片为基础的地形渲染系统插件
外包项目说明:
委托方:大连伟岸纵横科技发展有限公司
受托方:沈
外包项目要求受托方公开全部源代码,插件中所用到的第三方类库应全部为开源类库,不得使用未经许可授权的第三方类库。
一:地球地形系统插件概述
此次封装的地形插件目的为:渲染以真实卫星图片为基础的地形系统,该插件能与Ogre1.7版本结合。
委托方可通过对该地形插件的配置,从而生成一个支持无限大无缝加载的地形系统。
二:技术要求
1.效率要求:
在主流pc电脑,512mb显存 渲染效率达到60fps以上,内存使用不得超出300mb。
2.资源加载:
地形系统所用到的所有图片资源均为网络资源,由远程服务器下载而来。渲染与资源加载应异步通讯。当摄像机到达某一区域时,地形系统首先对本地文件进行检索,如果未在本地找到渲染所需要的纹理,再从网络服务器端下载该图片并存储到本地,以备下次加载时使用。
3.开放配置接口:
为委托方预留 初始化/渲染中 改变地形系统的配置接口
① 地形大小 地形对应三维空间中的宽/高值(正方形)。
② 地形纹理层级 缺省情况下为3层纹理,委托方可对该参数的设置来配置地形的
层数。
③ 地形坐标 缺省情况下地形中心点为(0,0,0)点,委托方可通过配置该参
数从而整体垂直或水平移动地形的位置。
④ 阴影与光照设置 可在渲染中动态切换 开启/关闭 阴影设置,支持pssm整体场景
阴影,能够接受其他三维模型所产生的投射阴影。可接收场景中灯光光照信息,包括方向光\点光\与聚光灯 的光照并生成地形自身的阴影。
⑤ 透明度设置 可动态更改任意一层的任一地形贴图透明度,从而达到半透明或全透明渲染地形。
⑥ 产生高程信息 通过加载高度图使地形产生高低起伏。
⑦ blendmap 通过加载blendmap对地形系统的最后一层纹理 绘制细节纹理,支持多层纹理混合。所有混合纹理材质支持高光贴图、凹凸贴图。
⑧ 顶点buffer 能够后台更改顶点缓冲的顶点坐标信息,从而可拓展对地形的编辑功能。
⑨ 动态lod 通过摄像机位置对所有顶点进行lod优化,对于摄像机视角以外或很远的地方不需要细致表现,采取lod减少渲染面数与渲染批次。
10 提供返回地形高度以及鼠标射线检测点坐标的数学函数,可以通过鼠标射线检测得到相交点坐标。