一种复杂场景图形渲染方法、系统及介质与流程

摘要: 本发明涉及图形渲染,具体为一种复杂场景图形渲染方法、系统及介质。背景技术:1、随着数字孪生、智能制造及军事仿真等领域的发展,三维场景规模日益庞大,动辄包含数万动...
一种复杂场景图形渲染方法、系统及介质与流程

本发明涉及图形渲染,具体为一种复杂场景图形渲染方法、系统及介质。

背景技术:

1、随着数字孪生、智能制造及军事仿真等领域的发展,三维场景规模日益庞大,动辄包含数万动态实体及千万级三角面片,对实时渲染性能提出极高要求。现有单机渲染架构中,cpu承担逻辑计算(状态更新、碰撞检测、视锥体裁剪等)与渲染指令生成,gpu执行图形绘制,当动态实体数量庞大时,cpu串行计算成为性能瓶颈,gpu长期处于等待状态,帧率难以维持在30fps以上,且画面卡顿明显。

2、针对上述问题,现有方案主要包括模型轻量化、多层次细节简化和分布式集群渲染,轻量化处理会牺牲模型精细度,影响场景逼真度;传统分布式渲染多面向静态场景,缺乏对动态实体行为状态的有效同步机制,难以保证多渲染端拼接画面的一致性与连贯性,此外,大规模场景中渲染批次过多导致cpu绘制调用开销巨大,而基于cpu的射线求交拾取方法在实体密集时响应延迟严重,进一步恶化交互体验;

3、为此,亟需一种逻辑计算与渲染计算分离的并行处理架构,通过gpu多线程加速逻辑数据计算,过滤无需同步的动态实体以降低通信负载,结合高效的批次合并与硬件加速拾取技术,在不降低模型精度的前提下,显著提升复杂场景的渲染帧率、同步精度及人机交互流畅度。

技术实现思路

1、本发明的目的在于提供一种复杂场景图形渲染方法、系统及介质,以解决上述背景技术中提出的问题。

2、为实现上述目的,本发明提供如下技术方案:本发明提供一种复杂场景图形渲染方法,包括以下步骤:

3、步骤s1:数据划分与分发。

4、将三维场景数据划分为逻辑数据和渲染数据,所述逻辑数据至少包括动态实体的状态数据、碰撞检测数据及工艺逻辑数据,由控制端持有并管理;所述渲染数据至少包括模型顶点数据、纹理数据及网格数据,由多个渲染端持有并管理。

5、步骤s2:逻辑数据多线程并行计算。

6、控制端基于图形处理器多线程并行计算所述逻辑数据,具体包括:将逻辑数据通过缓冲区传输至显存,由多个gpu线程并发执行运动状态计算和同步判定计算,同步判定基于视锥体裁剪实现:计算动态实体包围盒的8个顶点在投影矩阵和观察矩阵变换后的标准化设备坐标(ndc),若至少一个顶点坐标落入[-1,1]范围内,则判定该实体需同步,否则过滤该实体,不纳入同步数据包。

7、步骤s3:生成同步数据包。

8、控制端根据判定结果生成同步数据包,所述同步数据包包括:校验数据区,包含核对标识和帧序列号,用于验证数据包合法性和帧匹配性;固定数据区,包含当前帧的观察矩阵和投影矩阵,用于同步各渲染端的渲染任务;可变数据区,包含需同步实体的状态数据类型及对应的状态变化矩阵,若无需同步实体则该区为空。

9、步骤s4:同步数据传输与解析。

10、控制端将同步数据包通过网络传输层发送至各渲染端。各渲染端接收后执行解析流程:首先校验核对标识和帧序列号,若不匹配则舍弃该数据包;其次读取观察矩阵和投影矩阵,更新本地相机的视锥体参数;然后根据状态数据类型触发对应的状态机事件,更新动态实体的姿态矩阵。

11、步骤s5:并行渲染与图像拼接。

12、各渲染端基于更新后的数据独立执行渲染管线处理,包括视锥体剔除、顶点着色、几何着色、光栅化及像素处理,输出局部渲染图像,各局部渲染图像按屏幕空间划分进行拼接,形成完整帧图像,所述屏幕空间划分基于投影矩阵的缩放和平移变换实现,每个渲染端对应原单机视锥体规范视空间的一个子区域。

13、步骤s6:图形硬件拾取。

14、响应于用户交互操作,采用硬件拾取方法确定选中的目标对象:创建渲染目标纹理(rtt)表面,将场景所有图元的几何结构和指针信息编码为rgb颜色值,通过着色器渲染至rtt表面;根据鼠标位置读取rtt表面对应像素的颜色值,反算得到目标对象标识,无需cpu端进行遍历求交运算。

15、步骤s7:渲染批次合并。

16、各渲染端在提交绘制调用时,采用图形硬件实例化技术,将相同网格模型的多个实例合并为一个渲染批次提交至gpu,所述合并基于世界矩阵的纹理传递或顶点缓存写入方式实现,合并后一次性提交顶点数据和实例化矩阵数组。

17、本发明还提供一种复杂场景图形渲染系统,包括:

18、控制端,用于存储和计算逻辑数据,生成同步数据包,并管理渲染任务分配,所述控制端配置有图形处理器,用于多线程并行执行逻辑数据计算和同步判定。

19、多个渲染端,用于存储和计算渲染数据,接收并解析同步数据包,并行执行渲染管线,各渲染端配置有图形处理器,支持硬件实例化渲染和硬件拾取。

20、传输层,用于构建控制端与渲染端之间的数据通信网络,采用局域网或高速互联网络,传输同步数据包及控制指令。

21、显示端,用于接收各渲染端输出的局部渲染图像并进行拼接显示,支持多屏拼接输出高分辨率画面。

22、所述系统基于sort-first并行渲染模式运行,控制端作为主节点,各渲染端作为从节点,采用主从同步机制。

23、本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述的复杂场景图形渲染方法的步骤。

24、与现有技术相比,本发明的有益效果如下:

25、1,本发明通过将逻辑数据与渲染数据分离,控制端专注逻辑计算、多渲染端并行执行渲染任务,充分发挥集群计算优势,结合gpu多线程并行计算逻辑数据,有效释放cpu负载,使系统帧率由传统单机方案的约22fps提升至60fps以上,优化率达200%以上,且在大规模场景(如60×107三角面片)中仍能稳定维持30fps以上的流畅显示;

26、2,并且通过视锥体裁剪预判动态实体是否落入屏幕空间,过滤大量无需同步的对象,大幅降低网络通信负载,同时,采用结构化的同步数据包(含校验标识、帧号、观察/投影矩阵及状态数据),结合主从解析机制,确保多渲染端动态模型行为状态的高度一致性,拼接画面无撕裂、错位现象,帧率差控制在2fps以内;

27、3,采用图形硬件实例化技术,将相同网格模型的多个实例合并为一个渲染批次提交至gpu,避免了cpu端频繁的绘制调用切换,在50000个模型实例场景下,渲染批次可从50000降至1,帧率提升显著,同时内存占用增加极小,兼顾了效率与资源消耗;

28、4,本发明采用基于rtt纹理的硬件拾取方法,将场景图元信息编码为颜色纹理,根据鼠标位置直接反算选中目标,将传统cpu遍历求交的o(n)高阶运算降为o(1)低阶运算,单次拾取耗时由215ms降至86ms以下,且不阻塞帧循环,交互体验流畅;

29、5,本发明兼容数字孪生车间、智慧矿山、水下战仿真、大规模态势显示等多种复杂动态场景,支持高分辨率拼接输出,为大型可视化系统提供了一种高效、稳定且可扩展的通用渲染架构。

1.一种复杂场景图形渲染方法,其特征在于,包括:

2.根据权利要求1所述的一种复杂场景图形渲染方法,其特征在于,所述视锥体裁剪判定包括:

3.根据权利要求1所述的一种复杂场景图形渲染方法,其特征在于,所述同步数据包括:

4.根据权利要求1所述的一种复杂场景图形渲染方法,其特征在于,所述渲染端并行执行渲染管线处理前,还包括:

5.根据权利要求1所述的一种复杂场景图形渲染方法,其特征在于,所述屏幕空间划分基于投影矩阵的缩放和平移变换实现,每个渲染端对应原单机视锥体规范视空间的一个子区域,各子区域拼接后覆盖完整屏幕。

6.根据权利要求1所述的一种复杂场景图形渲染方法,其特征在于,所述控制端采用图形处理器多线程并行计算逻辑数据时,将逻辑数据通过缓冲区传输至显存,由多个gpu线程并发执行运动状态计算和同步判定,并将计算结果回传至内存进行打包。

7.一种复杂场景图形渲染系统,其特征在于,包括:

8.根据权利要求7所述的一种复杂场景图形渲染系统,其特征在于,所述渲染端采用图形硬件实例化技术,将相同网格模型的多个实例合并为一个渲染批次提交至gpu,所述合并过程基于世界矩阵的纹理传递或顶点缓存写入方式实现。

9.根据权利要求7所述的一种复杂场景图形渲染系统,其特征在于,所述显示端或控制端还支持图形硬件拾取,通过将场景图元信息渲染为颜色纹理,根据鼠标位置反算选中目标,以避免cpu端进行遍历求交运算。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6任一项所述的复杂场景图形渲染方法的步骤。