一种基于Web3D的超大场景实时渲染装置和方法制造方法及图纸

技术编号:6953021 阅读:497 留言:0更新日期:2012-04-11 18:40
本发明专利技术超大场景实时渲染装置,涉及数据传输加载装置和方法。包括数据传输部分和数据渲染部分,数据传输部分包括结构转换装置,序列化装置,服务端线程管理装置,数据渲染部分包括客户端数据加载装置,动态显示管理装置。本装置使用户访问使用Web3D应用程序时不必再经过较长的等待时间,突破三维应用程序在互联网传播受网络带宽的严重限制;部署和实施Web3D应用时,不必担心用户群体的早期硬件配置较低的终端不兼容性,大大提升了Web3D应用程序的可行性和实用性。同时提供一种利用本装置进行渲染的方法。

【技术实现步骤摘要】

本专利技术涉及数据传输加载装置和方法,特别是涉及基于ffeb3D的超大场景数据实时加载渲染的装置和方法。
技术介绍
如所公知的,在互联网快速发展的今天,互联网上的3D图形技术(Web3D)日趋成熟,在电子商务、联机娱乐休闲与游戏、科技与工程的可视化、教育、医学、地理信息、虚拟社区等领域应用前景广阔。但在实际应用中,基于B/S模式(即浏览器和服务端架构)的 Web3D应用发展存在两个致命性的因素,即网络带宽和用户客户端的实时渲染速度。用户要访问、使用一个ffeb3D应用程序,客户端程序需要调用本地操作系统的底层图形接口完成三维图形渲染,如果每次使用都需要等待几分钟甚至十几分钟以上的时间来等待通过网络将三维数据从服务器端下载到本地,并在验证完数据完整性之后开始渲染,那么这个应用程序是注定要丧失用户群体的。随着电缆和光纤通信技术的快速发展,网络带宽虽有着大幅提升,但对于文件体积100MB以上超大场景的三维数据而言,传输带宽仍是制约发展的主要瓶颈。三维应用在用户终端上的使用,客户端支持OpenGL或微软的Direct3D (OpenGL和 Direct3D都是专业的图形编程接口,最大区别在于Direct3D是微软Windows系统独有的, 而OpenGL是跨编辑语言、跨系统平台的)是实现的关键,在这一点上ffeb3D和PC 3D没有区别,而OpenGL或Direct3D的运行效率直接取决于用户终端的硬件水平,不同的用户终端存在高端和低端硬件配置的问题,所以要想满足BS模式的Web3D应用在海量良莠不齐的用户终端上流畅运行,优秀的实时渲染技术是非常关键的。Web3D的应用与基于主机的3D应用类似,数据的组织结构也是依照场景、元素、 对象、属性和对象间联系逐步细化,场景中包括各类元素,元素的特性限定了能够完成的方法;属于同一类元素属性的对象定义有不同的三维属性,包括位置、形状、颜色、外观等属性;每个对象还包括与其他对象间的连接关系,包括对象相互间运动状态、触发状态,关联层次等对象间的特征关系。
技术实现思路
针对以上缺陷,本专利技术目的是为Web3D的超大场景应用,提供一种实时渲染装置, 解决传输带宽较小不适应实时渲染高要求的技术问题。本专利技术目的是提供一种利用本实时渲染装置的方法,解决渲染速度慢的问题。本专利技术的超大场景实时渲染装置包括数据传输部分和数据渲染部分,数据传输部分包括结构转换装置,序列化装置,服务端线程管理装置,数据渲染部分包括客户端数据加载装置,动态显示管理装置;结构转换装置,根据客户端对场景对象的请求,将场景模型响应数据的封装结构转换为JSON结构;序列化装置,用于将响应数据中场景的模型和元素对象实例化,将实例化的对象转换为独立的数据流;服务端线程管理装置,用来将数据流分配给不同的线程,实现场景模型中各元素对象的并发传输;客户端数据加载装置,用于将场景模型中的元素对象在客户端实时加载,实现数据并发传输与场景元素加载过程同步;动态显示管理装置,用于完成客户端实时渲染,调节客户端系统资源;其中结构转换装置包括内容压缩装置,用于排除JSON结构封装的数据中与场景数据无关的XML信息数据和冗余数据,包括换行符,空格符,制表符,用于平台兼容性的头文件结构;服务端线程管理装置包括优先级管理装置,用于对响应数据中的场景元素对象进行分类,根据恢复场景的需要设置优先级;动态显示管理装置包括资源监视装置,用于监视系统内存或显存的利用率,为优化系统资源提供触发条件。客户端数据加载装置还包括反序列化装置,数据提取装置,数据加载装置;反序列化装置,用于将数据流转换为JSON结构封装的数据,对于转换失败的数据流,向序列化装置发送重新序列化请求;数据提取装置,用于根据客户端请求从JSON封装结构的场景数据中提取场景元素和对象;数据加载装置,用于实时加载场景元素和对象至OpenGL或Direct3D,完成各个对象的渲染。服务端线程管理装置还包括线程分配装置,用于依据客户端请求优先级将序列化的数据流传递给不同线程处理,实现数据并行传送。动态显示管理装置还包括场景层次细节管理装置,根据资源监视装置的控制信号,控制相机元素的视野或视距调整场景中组成对象的三角形的渲染效果和贴图分辨率。动态显示管理装置还包括场景元素加载/卸载装置,根据资源监视装置的控制信号,实时从内存和显存中加载或卸载相机元素的视野或视距中的场景元素和对象。基于本专利技术的超大场景实时渲染装置的渲染方法,其步骤包括用户提出Web3D应用请求;结构装换装置将服务端场景模型数据的封装结构转换为JSON结构;利用内容压缩装置排除与场景数据无关的冗余数据;通过序列化装置将场景模型中的元素对象实例化,将实例化的对象转换为独立的数据流;通过优先级管理装置,对场景元素对象进行分类,根据恢复场景的需要设置优先级;将序列化的数据流通过线程分配装置传递给不同线程处理,实现数据并行传送;a、客户端将不同线程传送的序列化数据流,通过反序列化装置转换为JSON结构封装的数据;b、通过数据提取装置从JSON结构中提取场景元素;C、数据加载装置实时加载场景元素;重复a至c步骤,动态完善场景内容。步骤还包括包括通过资源监视装置监视客户端系统内存,显存的动态利用率;当系统利用率达到触发条件时,通过场景层次细节管理装置降低三角形元素的渲染效果或通过场景元素加载/卸载装置卸载相机元素的视野或视距中的次要场景元素;当系统负荷较轻时,通过场景层次细节管理装置提高三角形元素的渲染效果或通过场景元素加载/卸载装置加载相机元素的视野或视距中的次要场景元素。通过本专利技术的基于ffeb3D的超大场景实时渲染装置,用户访问使用Web3D应用程序时不必再经过较长的等待时间,突破三维应用程序在互联网传播受网络带宽的严重限制;部署和实施Web3D应用时,不必担心用户群体的早期硬件配置较低的终端不兼容性,大大提升了 Web3D应用程序的可行性和实用性。下面结合具体实施例对本专利技术作进一步说明。附图说明图1为本专利技术的超大场景实时渲染装置的结构示意图;图2为本专利技术的超大场景实时渲染装置的服务端数据控制示意流程图;图3为本专利技术的超大场景实时渲染装置的客户端数据控制示意流程图。具体实施例方式如图1所示,本专利技术的基于ffeb3D的超大场景实时渲染装置包括数据传输部分和数据渲染部分,数据传输部分包括结构转换装置01,序列化装置02,服务端线程管理装置 03,数据渲染部分包括客户端数据加载装置04,动态显示管理装置05 ;结构转换装置01,根据客户端对场景对象的请求,将场景模型响应数据的封装结构转换为JSON结构;序列化装置02,用于将响应数据中场景的模型和元素对象实例化,将实例化的对象转换为独立的数据流;服务端线程管理装置03,用来将数据流分配给不同的线程,实现场景模型中各元素对象的并发传输;客户端数据加载装置04,用于将场景模型中的元素对象在客户端实时加载,实现数据并发传输与场景元素加载过程同步;动态显示管理装置05,用于完成客户端实时渲染,调节客户端系统资源。结构转换装置01包括内容压缩装置011,内容压缩装置011,用于排除JSON结构封装的数据中与场景数据无关的XML信息数据和冗余数据,包括换行符,空格符,制表符,用于平台兼容性的头文件结构本文档来自技高网
...

【技术保护点】
1.一种超大场景实时渲染装置,包括数据传输部分和数据渲染部分,数据传输部分包括结构转换装置(01),序列化装置(02),服务端线程管理装置(03),数据渲染部分包括客户端数据加载装置(04),动态显示管理装置(05);结构转换装置(01),根据客户端对场景对象的请求,将场景模型响应数据的封装结构转换为JSON结构;序列化装置(02),用于将响应数据中场景的模型和元素对象实例化,将实例化的对象转换为独立的数据流;服务端线程管理装置(03),用来将数据流分配给不同的线程,实现场景模型中各元素对象的并发传输;客户端数据加载装置(04),用于将场景模型中的元素对象在客户端实时加载,实现数据并发传输与场景元素加载过程同步;动态显示管理装置(05),用于完成客户端实时渲染,调节客户端系统资源;其特征在于:结构转换装置(01)包括内容压缩装置(011),用于排除JSON结构封装的数据中与场景数据无关的XML信息数据和冗余数据,包括换行符,空格符,制表符,用于平台兼容性的头文件结构;服务端线程管理装置(03)包括优先级管理装置(031),用于对响应数据中的场景元素对象进行分类,根据恢复场景的需要设置优先级;动态显示管理装置(05)包括资源监视装置(051),用于监视系统内存或显存的利用率,为优化系统资源提供触发条件。...

【技术特征摘要】
1.一种超大场景实时渲染装置,包括数据传输部分和数据渲染部分,数据传输部分包括结构转换装置(01),序列化装置(02),服务端线程管理装置(03),数据渲染部分包括客户端数据加载装置(04),动态显示管理装置(05);结构转换装置(01),根据客户端对场景对象的请求,将场景模型响应数据的封装结构转换为JSON结构;序列化装置(02),用于将响应数据中场景的模型和元素对象实例化,将实例化的对象转换为独立的数据流;服务端线程管理装置(03),用来将数据流分配给不同的线程,实现场景模型中各元素对象的并发传输;客户端数据加载装置(04),用于将场景模型中的元素对象在客户端实时加载,实现数据并发传输与场景元素加载过程同步;动态显示管理装置(05),用于完成客户端实时渲染,调节客户端系统资源;其特征在于结构转换装置(01)包括内容压缩装置(011),用于排除JSON结构封装的数据中与场景数据无关的XML信息数据和冗余数据,包括换行符,空格符,制表符,用于平台兼容性的头文件结构;服务端线程管理装置(0 包括优先级管理装置(031),用于对响应数据中的场景元素对象进行分类,根据恢复场景的需要设置优先级;动态显示管理装置(0 包括资源监视装置(051),用于监视系统内存或显存的利用率,为优化系统资源提供触发条件。2.如权利要求1所述的超大场景实时渲染装置,其特征在于客户端数据加载装置 (04)包括反序列化装置(041),数据提取装置(042),数据加载装置(043);反序列化装置(041),用于将数据流转换为JSON结构封装的数据,对于转换失败的数据流,向序列化装置(0 发送重新序列化请求;数据提取装置(04 ,用于根据客户端请求从JSON封装结构的场景数据中提取场景元素和对象;数据加载装置(04 ,用于实时加载场景元素和对象至OpenGL或Direct3D,完成各个对象的渲染。3.如权利要求2所述的超大场景实时渲染装置,其特征在于服务端线程管理装置 (03)包括线程分配装置(032),用于依据客...

【专利技术属性】
技术研发人员:方宝友饶英俊李建中解军马春宇
申请(专利权)人:北京华电万通科技有限公司
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1