买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:深圳数生科技有限公司
摘要:本发明提供了一种基于C++开发和物理材质的高性能跨平台三维渲染引擎,包括:基于C++程序语言开发的底层库和跨平台SDK接口;所述底层库设置有C++标准库、C++Boost库;作为核心框架以及应用模块的底层库和跨平台SDK接口全部使用C++语言开发;硬件设备,包括操作系统以及X86架构或ARM架构的硬件;以及基于OpenGL形成渲染底层API的渲染系统。还公开了对应的使用方法、电子设备以及计算机可读存储介质。
主权项:1.一种基于C++开发和物理材质的高性能跨平台三维渲染引擎,其特征在于,包括:基于C++程序语言开发的底层库和跨平台SDK接口;所述底层库设置有C++标准库、C++Boost库;作为核心框架以及应用模块的底层库和跨平台SDK接口全部使用C++语言开发;硬件设备,包括操作系统以及X86架构或ARM架构的硬件;以及基于OpenGL形成渲染底层API的渲染系统;所述跨平台SDK接口包括原生C++编译接口,Wasm编译接口,Js混合开发接口,原生桌面二次开发SDK接口,原生移动二次开发SDK接口以及Web二次开发SDK接口;所述操作系统设置在底层操作系统层,设置有Windows、Linux、Android、iOS中的至少一种操作系统,所述底层操作系统层还设有支持Windows、Linux、Android、iOS操作系统的软件接口,应用于台式电脑、平板电脑和智能手机;所述基于OpenGL形成渲染底层API的渲染系统包括:内核系统,用于实施跨平台渲染内核的全部功能,包括引擎初始化、断言处理、单元测试、内存分配、解码压缩库、本地化服务、数据解析、状态收集、引擎配置、字符和哈希处理、3D数据库以及对象化处理,所述内核系统内设置OpenGL接口;渲染引擎主体结构,包括资源管理模块、底层渲染模块和可视化效果模块;其中,所述资源管理模块用于多种资源的管理,所述多种资源包括三维模型资源、纹理资源、材质资源、字体资源、骨架资源、地图资源以及要素资源;所述底层渲染模块用于实施底层渲染,包括材质渲染器、各类着色器、动静态光源、摄像机和视点、纹理和表面渲染器、文字和字体渲染器以及图元提交器;所述可视化效果模块用于实施多种可视化效果的渲染,所述多种可视化效果包括实时动态光照、关键帧动画渲染、HDR渲染、任意时间天空和太阳光渲染、空间环境光遮蔽渲染、LBL光照、大量动态点光源光照、TAA、Bloom渲染、高度指数雾渲染、大气散射渲染;数字孪生场景优化模块,用于实时场景组织和优化功能,所述场景组织和优化功能包括超大场景全空间索引组织、多尺度细节层次组织调度、复杂三维模型遮挡剔除以及多线程资源访问和调度;所述基于C++开发和物理材质的高性能跨平台三维渲染引擎还包括基础构件层、开发调试工具层和客户端;所述基础构件层设置有引擎、组件库、控件库、扩展模块、通讯库和核心库,所述底层操作系统层用于调用基础构件层中的组件库、控件库、扩展模块、核心库进行编译,以形成输出结果,并与所述渲染引擎通讯后将渲染结果由开发调试工具层调试后输出到客户端;所述扩展模块设置有Ext扩展、Windows扩展DirectX、Linux扩展OpenGL、Android扩展OpenGLES、iOS扩展Metal中的至少一种;所述开发调试工具层设置有VisualStudio、AndroidStudio、XCode中的至少一种;所述客户端设置有PC、Linux、iOS、Android中的至少一种;所述基于C++开发和物理材质的高性能跨平台三维渲染引擎还包括硬件的平台检测模块,用于在系统内部针对不同平台的OpenGL渲染标准进行算法配置,所述算法配置的标准为低配置的环境使用简化的算法,以保证系统能流畅运行;所述基于C++开发和物理材质的高性能跨平台三维渲染引擎基于多线程运行框架以实现不同平台下线程的创建、使用和管理的,还包括线程池模块,所述线程池模块中包括多个线程池,用于提供多个任务并发方式,所述任务并发方式包括:调用者传入一组可并行的任务和分组的策略,基于所述策略使用线程池的若干线程并发地执行任务;所述多个线程池用于实现三维渲染引擎内部的多个线程,所述多个线程包括GUI线程,渲染线程和数据加载线程;其中,所述GUI线程是所述三维渲染引擎的主线程,所有的引擎对象都是在所述GUI线程下创建、更新和销毁;同时所述GUI线程内部有事件循环机制,管理整个渲染系统的运行,每一帧渲染的发起和帧率统计;引擎对象的创建和数据更新必须放在主线程更新完成后,主线程会将数据同步到所述渲染线程,同步任务在每一帧渲染前发生,以保证渲染结果及时同步;所述GUI线程还用于数据加载任务完成后的处理工作;所述GUI线程负责动态数据请求任务的发起,请求任务的负载均衡以及任务失败后的再请求发起;所述渲染线程负责管理渲染设备相关的渲染资源的管理以及发起渲染任务;所述渲染线程与主线程相互配合,主线程创建的对象和数据作为前端资源;当前端资源同步到所述渲染线程时,所述渲染线程会创建相应的设备与所述前端资源相关的后端资源;所述渲染线程收到主线程的渲染信号后,进行场景渲染,所述场景渲染包括:对场景进行摄像机裁切、场景对象的遍历、创建渲染队列以及对每个需要渲染的对象创建渲染任务,并加入渲染队列;所述渲染资源包括:材质、各类着色器、三维模型、地图资源和要素资源。
全文数据:
权利要求:
百度查询: 深圳数生科技有限公司 基于C++开发和物理材质的高性能跨平台三维渲染引擎
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。