一种基于地理信息的三维渲染引擎系统的制作方法_3

文档序号:9922501阅读:来源:国知局
种基于地理信息的三维渲染引擎系统,所述基于地理信息的三维渲染引擎系统可与资源请求调配系统,基础功能系统,图形接口系统相连接,其中资源请求调配系统为不同的线程分配请求资源,并查询获取数据,将数据传输至基于地理信息的三维渲染引擎系统中,基于地理信息的三维渲染引擎系统对三维场景所需的数据进行组织、调度和管理,并快速将地理信息数据以三维仿真的形式进行展示并应用;基础功能系统可为基于地理信息的三维渲染引擎系统提供基础处理;基于地理信息的三维渲染引擎系统将不同类别的数据传输至图形接口系统中,图形接口系统对数据进行相应处理后,可显示出图形信息。
[0031]在具体实施例中所述资源请求调配系统中数据调配的处理方式为本地缓存调配处理方式,互联网调配处理方式,局域网调配处理方式。
[0032]在具体实施例中当资源请求调配系统从互联网调取数据信息时,通过互联网传输的数据进行数据校验,防止数据篡改和传输的错误,并将正确的数据转换为GIS对象数据,利用缓存子模块进行数据缓存。
[0033]在具体实施例中所述资源请求调配系统可将传输的数据在基础功能系统中进行处理,转换为模型数据、纹理数据进行数据传输。
[0034]下面以一个更具体的一个细节方面的例子来对本技术进行详细描述。
[0035]一种基于地理信息的三维渲染引擎系统,该系统是由渲染实体管理模块、渲染驱动模块、渲染操作抽象模块和渲染操作模块构成的一个完整的系统。
[0036]渲染实体管理模块用于对场景中的实体对象及其渲染符号和渲染方式进行管理,对海量数据进行高效的调度管理,对三维地形数据进行动态构建和调整,对粒子系统进行效果管理,管理和更新场景中的动态对象,对三维场景进行空间分析,对场景动画进行巡航和录制。具体操作为:首先,用户先对渲染引擎进行初始化,初始化过程中,渲染操作抽象模块会加载渲染操作模块的各个子模块,并由用户指定使用哪种图形接口进行数据渲染。然后,由用户利用实体对象管理子模块的接口创建GIS实体对象,由于渲染引擎的多线程复杂性,GIS实体对象创建后,实体对象管理子模块会自动将实体对象管理的渲染对象添加到场景中,而不需要用户参与。接着,用户可以利用实体对象管理子模块设置实体的显示风格。实体对象管理子模块会进一步通过渲染对象管理子模块将实体的几何数据和显示风格转换为可以进行渲染显示的数据格式。用户还可以利用实体对象管理子模块添加喷泉、火等粒子特效,可以为场景配背景音乐,可以设置雨、雪、雾等天气特效,这些都是实体对象管理子模块利用特效管理子模块实现的。如果系统的数据量很大,用户可以利用实体对象管理子模块创建分页实体对象,分页实体对象不会一次性将所有的数据都加载到场景中,而是利用数据调度子模块实时地加载当前视野范围以内有必要显示的数据,并把最近一段时间没有用到的数据从系统中移除,这样保证了系统处理海量数据的能力。
[0037]渲染驱动模块用于三维场景组织和管理,场景裁剪过滤,场景碰撞检测,对各种渲染属性和状态进行管理和分类,控制和传递消息循环。具体操作为:实体对象管理模块将每个实体对象管理的渲染对象交由场景管理子模块进行管理。渲染引擎在每次绘制的时候都要通过场景管理子模块来查找需要显示的数据。场景管理子模块为了保证数据查找的效率以树状结构组织每个渲染对象,并对所有的渲染对象进行了空间划分。为了提高渲染引擎的渲染效率,必须要对场景数据进行裁剪,剔除那些不在相机视锥范围内、距离太近或太远、被遮挡、显示像素太小等渲染实体;在裁剪的过程中,对于有分页索引而没有加载到场景中,同时又没有被裁减掉的渲染实体,需要由渲染实体管理模块的数据调度子模块利用资源请求调配系统调取相应的数据并添加到三维场景中。渲染引擎将经过裁剪后,需要显示的渲染单元交由渲染单元管理子模块管理。同时,利用渲染状态管理子模块对每个渲染单元的渲染属性和状态利用进行分类排序。最后,渲染驱动模块将要渲染的数据通过渲染操作模块发送给图形接口模块进行渲染。由于将渲染数据存储到显卡内存中的渲染效率要比存储在内存中的渲染效率高,所以渲染驱动模块利用硬件资源管理子模块将渲染频繁的数据存储到显卡内存中,并管理这些数据,当显卡内存的占用量达到限额时,硬件资源管理子模块负责显存数据的剔除和更新。在与用过交互的过程中,消息控制子模块负责接收用户输入的消息,并转换为系统内部的消息类型进行处理。对于一些用户等待反馈的消息,经过系统的进一步响应和处理后,转换为系统消息传递给用户。为了增强三维仿真的真实感,有些情形要求实时地判断物体之间的拓扑关系,例如不允许视点进入地下、距离量测等,需要利用碰撞检测子模块实时地检测物体之间是否存在相交关系。
[0038]渲染操作抽象模块是渲染驱动模块和渲染操作模块之间数据传输的桥梁。它定义了数据传输和操作的接口标准,渲染操作模块的各个子模块遵照接口标准实现相应的数据传输和操作。渲染操作抽象模块还负责加载并管理渲染操作模块的各个子模块,在渲染引擎启动之前,由用户选择用哪种图形接口进行数据渲染,同时也决定了用哪个渲染操作子模块进行数据传输。
[0039]渲染操作模块根据图形接口的类型或版本划分子模块,每个渲染操作子模块为其对应的图形接口传输和操作渲染数据。每个渲染操作子模块加载后会自动注册到渲染操作抽象模块进行管理。用户在初始化渲染引擎时需要制定图形接口,并确定使用的渲染操作子模块。多个渲染操作子模块不能同时使用。
[0040]本三维渲染引擎系统可与资源请求调配系统,基础功能系统,图形接口系统相连接,其中资源请求调配系统为不同的线程分配请求资源,并查询获取数据,将数据传输至基于地理信息的三维渲染引擎系统中,基于地理信息的三维渲染引擎系统对三维场景所需的数据进行组织、调度和管理,并快速将地理信息数据以三维仿真的形式进行展示并应用;基础功能系统可为基于地理信息的三维渲染引擎系统提供基础处理;基于地理信息的三维渲染引擎系统将不同类别的数据传输至图形接口系统中,图形接口系统对数据进行相应处理后,可显示出图形信息。
[0041]具体的实施过程为:资源请求调配系统用于接收发送的数据请求,根据数据请求的路径决定数据调配的处理方式并根据请求的数据类型进行数据调配,解决了多线程环境中数据的资源请求冲突。具体操作为:首先根据不同的调度请求线程分配数据调度资源,以保证多线程对共享数据访问的安全性;然后根据资源请求的路径判断数据来源,如果是本地数据则直接调取数据,如果是局域网或互联网数据,则先查找该请求资源是否已缓存,如果已经缓存,则直接从缓存数据中获取数据,转换为模型或纹理数据后返回给渲染引擎,如果没有缓存,则通过数据引擎获取相应的GIS对象数据返回给渲染引擎,同时进行数据缓存。在查找缓存的数据过程中,如果判断找到的缓存数据已过期或源数据已修改,需要重新获取并缓存数据。
[0042]在各个系统进行数据处理过程中,基础功能库系统为三维渲染引擎系统和资源请求调配系统提供了内存管理、异常处理、日志管理、跨平台配置等服务,保证了内存资源的有效利用和及时释放,提高了系统的稳定性和健壮性,日志管理服务为发现系统存在的潜在问题提供了良好的改善手段。空间索引保证了空间数据的快速查询,分页索引保证了渲染引擎能够快速地找到需要展示的地理信息数据,在提升系统运行的性能和展示海量数据的流畅程度方面起到了巨大的作用。
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1