本发明属于计算机图形领域,涉及一种多gpu大分辨率多屏图形分块并行渲染方法。
背景技术:
大屏大分辨率图形应用的要求图形处理器具有多gpu配合、大分辨率图形绘制能力,目前公开的研究有sli、crossfire、mult-gpu技术,但都是说明图形任务拆分方式,未发现有对整个图形处理渲染方法的说明。
技术实现要素:
本发明的目的是:提供一种多gpu大分辨率多屏图形分块并行渲染方法,实现多gpu大分辨率多屏图形分块并行渲染。
本发明的解决方案是:
一种多gpu大分辨率多屏图形分块并行渲染方法,所述方法通过以下模块实现:主机上的多gpu及多屏幕组合方式配置模块1和针对每个gpu的图形指令分发模块2,以及多个gpu内部的传统图形流水线包含的顶点、几何处理模块3,光栅化模块5,像素处理模块6;和为多屏支持服务的图元屏幕空间拆分及图元归属分发模块4和像素归属分发模块7;
多gpu及多屏幕组合方式配置模块1,用于根据应用需求生成多gpu的配合方式和多屏幕的拼接方式的多gpu多屏配置信息,并将多gpu多屏配置信息作用于图形指令分发模块2、图元屏幕空间拆分及图元归属分发模块4、像素归属分发模块7。
图形指令分发模块2,用于将图形应用生成的图形指令根据多gpu及多屏幕组合方式配置模块1生成的多gpu配合方式生成各gpu的需要处理的图形指令,分发到各gpu进行图形处理,将不需要gpu处理的指令丢弃或消除;首先进行图形处理的是顶点、几何处理模块3。
顶点、几何处理模块3,对图形指令分发模块2传递的图形指令进行图形处理的顶点阶段处理和几何阶段处理,并将处理完的图元信息发送给图元屏幕空间拆分及图元归属分发模块4。
图元屏幕空间拆分及图元归属分发模块4,接收顶点、几何处理模块3发送的图元信息和多gpu及多屏幕组合方式配置模块1生成的多gpu的配合方式和多屏幕的拼接方式的多gpu多屏配置信息;并将图元信息根据多gpu多屏配置信息裁剪拆分成各屏幕区域处理的图元信息,并分发到各屏幕区域对应的光栅化模块5。
光栅化模块5,用于将图元屏幕空间拆分及图元归属分发模块4发送的各屏幕区域处理的图元信息转换为像素数据并发送给像素处理模块6。
像素处理模块6,接收光栅化模块5生成的像素数据,并进行像素染色功能,并将像素染色完成的像素数据发送给像素归属分发模块7。
像素归属分发模块7,接收像素处理模块6发送的像素数据和多gpu及多屏幕组合方式配置模块1生成多gpu的配合方式和多屏幕的拼接方式的多gpu多屏配置信息;并根据多gpu多屏配置信息将像素输出分发到不同的屏幕区域对应的缓冲区。
本发明的优点是:本发明提供的一种多gpu大分辨率多屏图形分块并行渲染方法,在传统图形处理流水线中增加图元屏幕空间拆分及图元归属阶段和像素归属分发阶段,通过多gpu图形指令分发,图元屏幕空间拆分,完成对屏幕空间的图元进行分区并行处理,并通过像素归属分发到的特定的屏幕缓冲区,实现多gpu大分辨率多屏图形分块并行渲染。结构清晰、易于扩展,具有较强实用意义。
附图说明
图1为本发明多gpu大分辨率多屏图形分块并行渲染方法的模块及流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图和具体实施例对本发明的技术方案做进一步详细描述。
如图1所示,一种多gpu大分辨率多屏图形分块并行渲染方法,所述方法通过以下模块实现:主机上的多gpu及多屏幕组合方式配置模块1和针对每个gpu的图形指令分发模块2,以及多个gpu内部的传统图形流水线包含的顶点、几何处理模块3,光栅化模块5,像素处理模块6;和为多屏支持服务的图元屏幕空间拆分及图元归属分发模块4和像素归属分发模块7;
多gpu及多屏幕组合方式配置模块1,用于根据应用需求生成多gpu的配合方式和多屏幕的拼接方式的多gpu多屏配置信息,并将多gpu多屏配置信息作用于图形指令分发模块2、图元屏幕空间拆分及图元归属分发模块4、像素归属分发模块7。
图形指令分发模块2,用于将图形应用生成的图形指令根据多gpu及多屏幕组合方式配置模块1生成的多gpu配合方式生成各gpu的需要处理的图形指令,分发到各gpu进行图形处理,将不需要gpu处理的指令丢弃或消除;首先进行图形处理的是顶点、几何处理模块3。
顶点、几何处理模块3,对图形指令分发模块2传递的图形指令进行图形处理的顶点阶段处理和几何阶段处理,并将处理完的图元信息发送给图元屏幕空间拆分及图元归属分发模块4。
图元屏幕空间拆分及图元归属分发模块4,接收顶点、几何处理模块3发送的图元信息和多gpu及多屏幕组合方式配置模块1生成的多gpu的配合方式和多屏幕的拼接方式的多gpu多屏配置信息;并将图元信息根据多gpu多屏配置信息裁剪拆分成各屏幕区域处理的图元信息,并分发到各屏幕区域对应的光栅化模块5。
光栅化模块5,用于将图元屏幕空间拆分及图元归属分发模块4发送的各屏幕区域处理的图元信息转换为像素数据并发送给像素处理模块6。
像素处理模块6,接收光栅化模块5生成的像素数据,并进行像素染色功能,并将像素染色完成的像素数据发送给像素归属分发模块7。
像素归属分发模块7,接收像素处理模块6发送的像素数据和多gpu及多屏幕组合方式配置模块1生成多gpu的配合方式和多屏幕的拼接方式的多gpu多屏配置信息;并根据多gpu多屏配置信息将像素输出分发到不同的屏幕区域对应的缓冲区。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。