一种基于网络的分布式同步渲染系统和方法技术方案

技术编号:15262468 阅读:159 留言:0更新日期:2017-05-03 18:06
本发明专利技术公开了一种基于网络的分布式同步渲染方法包括步骤:计算投影矩阵、设置显示终端计算机、设置总控服务器、更新场景信息、处理同步对象与相机信息和调整相机视角。基于网络的分布式同步渲染系统包括:多屏显示终端、终端计算机、高速以太网、总控服务器、路由器和摄像系统,多屏显示终端通过DP线缆与终端计算机连接,高速以太网连接终端计算机、总控服务器和路由器。本发明专利技术与现有技术相比,利用每台计算机只驱动一块显示屏,由多块显示屏中内容拼接成整个场景,这样就对单台计算机的性能要求大大降低,并且拥有很好的扩展能力。

【技术实现步骤摘要】

本专利技术涉及一种弱电领域的影像渲染技术,具体涉及一种通过网络控制分布式显示终端计算机实现同步渲染超大分辨率画面的系统。
技术介绍
随着计算机硬件的飞速发展,计算机的处理能力、内存容量和计算机网络技术都突飞猛进的进步,但科学计算的规模越来越大,人们对计算机的期望越来越高。大规模虚拟场景漫游系统、虚拟战场等沉浸式虚拟现实应用,以及气象等诸多领域的科学计算可视化应用,用于计算的网格己达到百万、千万乃至数十亿,计算的数据达到了GB甚至TB的规模。这些应用不仅要求计算机图形系统具有很高的三维图形绘制速度,还要能够输出高分辨率的大屏幕显示。而随着硬件和系统的发展,软硬件结合成为当今渲染技术的主流,利用外部硬件的信息捕捉和投影技术,从而根据坐标将图像进行分解处理。但这种技术耗费资源大,价格昂贵,需要大规模的工作站支持,在技术层面上,它直接划分屏幕区域,并将每个子屏幕区域对应于一块最终的显示区域,这样就会由于图元在屏幕上分布不均而造成任务分配的不均衡,从而成为整个系统的瓶颈。而如果需要进行技术上的调整,整体算法也需要同步改进,异常困难。因此,为了解决上述问题进行了一系列改进。
技术实现思路
本专利技术的目的在于,提供一种基于网络的分布式同步渲染系统,以克服现有技术所存在的上述缺点和不足。一种基于网络的分布式同步渲染方法,其特征在于,步骤包括:步骤1:计算投影矩阵,通过现实中显示屏幕的尺寸大小以及观察者头部的位置来计算出Unity3D中相机的位置与投影矩阵,确定了相机与屏幕之间的位置关系、方向等信息,通过现实中的环境来设置每台机器中的多投影相机模块的配置文件,可以根据观察者头部的位置调整展示场景的视角;步骤2:设置显示终端计算机,用于运行Unity3D,系统中包含复数台显示终端计算机,复数显示终端计算机对应相应数量的显示终端;步骤3:设置总控服务器,用来同步控制复数台显示终端计算机的显示内容;步骤4:更新场景信息,总控服务器处理预设场景显示信息,对相应的对象进行操作,系统将绘制一个图像,完整画面分别由复数块显示屏共同组成,总控服务器将不断更新当前图像的变化信息;步骤5:处理同步对象与相机信息;处理同步对象与相机信息,总控服务器根据当前图像的位置坐标更新相机信息,发送同步对象与相机信息,总控服务器向复数台显示终端计算机发送当前图像信息与相机信息;步骤6:调整相机视角;同步场景信息,每一台显示终端计算机根据接收到的图像信息与相机信息,调整各自相机,渲染对应场景;其中,所述步骤1具体包括:多屏显示终端使用复数台终端计算机计算机并行显示的模式,构成一个具有宽广视角的大型显示场景,通过现实中显示屏幕的尺寸大小以及观察者头部的位置来计算出Unity3D中相机的位置与投影矩阵,设pa、pb、pc为投影平面的三个顶点,可以得到一个三维的矩形,并确定其大小、长宽比、位置、方向,pe表示相机的位置,确定了相机与屏幕之间的位置关系、方向等信息,通过现实中的环境来设置每台机器中的多投影相机模块的配置文件;其中,多屏显示终端呈弧面排列,弧面所对应圆的半径为R,令H表示显示屏长边长度,W表示显示屏的短边长度,w`表示显示屏的边框厚度,α表示相邻两块显示屏之间的夹角,假设三维空间中一点P的三维空间坐标系1中的坐标值为P(x,y,z),则点P在空间坐标系2中的坐标值P`(x`,y`,z`)可以表示为:其中T为平移矩阵,R为旋转矩阵,且R=RxRyRz,pe在多屏显示终端的中心垂线上,且第一多屏显示终端的中心点为坐标系1的坐标原点;pe在相邻显示屏的中心垂线上,且相邻显示屏的中心点为坐标系3的坐标原点;pe为坐标系2的坐标原点,pb`在坐标系3中的坐标值为pb`(x3,y3,z3),pb`在坐标系2中的坐标值为pb`(x2,y2,z2),pb`在坐标系1中的坐标值为pb`(x1,y1,z1),则:其中T=[00R]T,R=RxRyRz,其中T`=[00-R]T,R`=Rx`Ry`Rz`,所以在考虑显示屏边框宽度的情况下,容易得到半径代入上式即可求得pb`在坐标系1中的坐标值,从而可求得各屏幕的顶点在坐标系1中的坐标值。进一步,所述步骤1中,将计算得到的各显示屏的投影矩阵结果,以XML文件的形式进行保存,再将得到的XML配置文件部署到对应的显示终端计算机上,由各显示终端计算机中的Unity3D程序加载使用。一种基于网络的分布式同步渲染系统,其特征在于,多屏显示终端、终端计算机、高速以太网、总控服务器、路由器和摄像系统,所述多屏显示终端通过DP线缆与终端计算机连接,所述高速以太网连接终端计算机、总控服务器和路由器。进一步,所述多屏显示终端由复数块显示屏组成,显示屏依次水平排开,显示屏之间设有夹角。本专利技术的有益效果:本专利技术与现有技术相比,利用多台计算机模拟在同一个场景中,并通过同步服务分别显示场景中一个部分的画面,通过算法计算投影平面的三个顶点形成三维的矩形,在确定其大小、长宽比、位置、方向与相机位置后进一步计算出最佳位置,再将画面通过多屏显示终端,实现共同拼接成整个场景;整个场景的渲染是通过多台计算机共同完成的,而每台计算机只驱动一块显示屏,由多块显示屏中内容拼接成整个场景,这样就对单台计算机的性能要求大大降低,并且拥有很好的扩展能力。附图说明图1为本专利技术的系统结构图。图2为本专利技术的算法坐标示意图。图3为本专利技术的算法演示图。附图标记:多屏显示终端100、终端计算机200、高速以太网300、总控服务器400、路由器500和摄像系统600。具体实施方式以下结合具体实施例,对本专利技术作进一步说明。应理解,以下实施例仅用于说明本专利技术而非用于限定本专利技术的范围。实施例1图1为本专利技术的系统结构图。图2为本专利技术的算法坐标示意图。图3为本专利技术的算法演示图。一种基于网络的分布式同步渲染方法,步骤包括:步骤1:计算投影矩阵,通过现实中显示屏幕的尺寸大小以及观察者头部的位置来计算出Unity3D中相机的位置与投影矩阵,确定了相机与屏幕之间的位置关系、方向等信息,通过现实中的环境来设置每台机器中的多投影相机模块的配置文件,可以根据观察者头部的位置调整展示场景的视角;步骤2:设置显示终端计算机,用于运行Unity3D,系统中包含复数台显示终端计算机,复数显示终端计算机对应相应数量的显示终端;步骤3:设置总控服务器,用来同步控制复数台显示终端计算机的显示内容;步骤4:更新场景信息,总控服务器处理预设场景显示信息,对相应的对象进行操作,系统将绘制一个图像,完整画面分别由复数块显示屏共同组成,总控服务器将不断更新当前图像的变化信息;步骤5:处理同步对象与相机信息;处理同步对象与相机信息,总控服务器根据当前图像的位置坐标更新相机信息,发送同步对象与相机信息,总控服务器向复数台显示终端计算机发送当前图像信息与相机信息;步骤6:调整相机视角;同步场景信息,每一台显示终端计算机根据接收到的图像信息与相机信息,调整各自相机,渲染对应场景;其中,所述步骤1具体包括:多屏显示终端使用复数台终端计算机计算机并行显示的模式,构成一个具有宽广视角的大型显示场景,通过现实中显示屏幕的尺寸大小以及观察者头部的位置来计算出Unity3D中相机的位置与投影矩阵,设pa、pb、pc为投影平面的三个顶点,可以得到一个本文档来自技高网...

【技术保护点】
一种基于网络的分布式同步渲染方法,其特征在于,步骤包括:步骤1:计算投影矩阵,通过现实中显示屏幕的尺寸大小以及观察者头部的位置来计算出Unity 3D中相机的位置与投影矩阵,确定了相机与屏幕之间的位置关系、方向等信息,通过现实中的环境来设置每台机器中的多投影相机模块的配置文件,可以根据观察者头部的位置调整展示场景的视角;步骤2:设置显示终端计算机,用于运行Unity3D,系统中包含复数台显示终端计算机,复数台显示终端计算机对应相应数量的显示终端;步骤3:设置总控服务器,用来同步控制复数台显示终端计算机的显示内容;步骤4:更新场景信息,总控服务器处理预设场景显示信息,对相应的对象进行操作,系统将绘制一个图像,完整画面分别由复数块显示屏共同组成,总控服务器将不断更新当前图像的变化信息;步骤5:处理同步对象与相机信息;处理同步对象与相机信息,总控服务器根据当前图像的位置坐标更新相机信息,发送同步对象与相机信息,总控服务器向复数台显示终端计算机发送当前图像信息与相机信息;步骤6:调整相机视角;同步场景信息,每一台显示终端计算机根据接收到的图像信息与相机信息,调整各自相机,渲染对应场景;其中,所述步骤1具体包括:多屏显示终端使用复数台终端计算机并行显示的模式,构成一个具有宽广视角的大型显示场景,通过现实中显示屏幕的尺寸大小以及观察者头部的位置来计算出Unity3D中相机的位置与投影矩阵,设pa、pb、pc为投影平面的三个顶点,可以得到一个三维的矩形,并确定其大小、长宽比、位置、方向,pe表示相机的位置,确定了相机与屏幕之间的位置关系、方向等信息,通过现实中的环境来设置每台机器中的多投影相机模块的配置文件;其中,多屏显示终端呈弧面排列,弧面所对应圆的半径为R,令H表示显示屏长边长度,W表示显示屏的短边长度,w`表示显示屏的边框厚度,α表示相邻两块显示屏之间的夹角,假设三维空间中一点P的三维空间坐标系1中的坐标值为P(x,y,z),则点P在空间坐标系2中的坐标值P`(x`,y`,z`)可以表示为:其中T为平移矩阵,R为旋转矩阵,且R=RxRyRz,Rx(θx)=1000cosθx-sinθx0sinθxcosθx,Ry(θy)=cosθy0sinθy010-sinθy0cosθy,]]>Rz(θz)=cosθz-sinθz0sinθzcosθz0001,]]> pe在多屏显示终端的中心垂线上,且第一多屏显示终端的中心点为坐标系1的坐标原点;pe在相邻显示屏的中心垂线上,且相邻显示屏的中心点为坐标系3的坐标原点;pe为坐标系2的坐标原点,pb`在坐标系3中的坐标值为pb`(x3,y3,z3),pb`在坐标系2中的坐标值为pb`(x2,y2,z2),pb`在坐标系1中的坐标值为pb`(x1,y1,z1),则:其中T=[0 0 R]T,R=RxRyRz,Rx(0)=100010001,Ry(0)=100010001,Rz(0)=100010001,]]>其中T`=[0 0 ‑R]T,R`=Rx`Ry`Rz`,Rx`(0)=100010001,Ry`(α)=cosα0sinα010-sinα0cosα,Rz`(0)=100010001,]]> 所以x1y1z11=Ry(α)T01IT01x3y3z31=cosα0sinα00100-sinα0cosαR000110000100001-R0001x3y3z31=cosα0sinα-Rsinα0100-sinα0cosα(1-cosα)R0001x3y3z31]]>在考虑显示屏边框宽度的情况下,容易得到半径代入上式即可求得pb`在坐标系1中的坐标值,从而可求得各屏幕的顶点在坐标系1中的坐标值。...

【技术特征摘要】
1.一种基于网络的分布式同步渲染方法,其特征在于,步骤包括:步骤1:计算投影矩阵,通过现实中显示屏幕的尺寸大小以及观察者头部的位置来计算出Unity3D中相机的位置与投影矩阵,确定了相机与屏幕之间的位置关系、方向等信息,通过现实中的环境来设置每台机器中的多投影相机模块的配置文件,可以根据观察者头部的位置调整展示场景的视角;步骤2:设置显示终端计算机,用于运行Unity3D,系统中包含复数台显示终端计算机,复数台显示终端计算机对应相应数量的显示终端;步骤3:设置总控服务器,用来同步控制复数台显示终端计算机的显示内容;步骤4:更新场景信息,总控服务器处理预设场景显示信息,对相应的对象进行操作,系统将绘制一个图像,完整画面分别由复数块显示屏共同组成,总控服务器将不断更新当前图像的变化信息;步骤5:处理同步对象与相机信息;处理同步对象与相机信息,总控服务器根据当前图像的位置坐标更新相机信息,发送同步对象与相机信息,总控服务器向复数台显示终端计算机发送当前图像信息与相机信息;步骤6:调整相机视角;同步场景信息,每一台显示终端计算机根据接收到的图像信息与相机信息,调整各自相机,渲染对应场景;其中,所述步骤1具体包括:多屏显示终端使用复数台终端计算机并行显示的模式,构成一个具有宽广视角的大型显示场景,通过现实中显示屏幕的尺寸大小以及观察者头部的位置来计算出Unity3D中相机的位置与投影矩阵,设pa、pb、pc为投影平面的三个顶点,可以得到一个三维的矩形,并确定其大小、长宽比、位置、方向,pe表示相机的位置,确定了相机与屏幕之间的位置关系、方向等信息,通过现实中的环境来设置每台机器中的多投影相机模块的配置文件;其中,多屏显示终端呈弧面排列,弧面所对应圆的半径为R,令H表示显示屏长边长度,W表示显示屏的短边长度,w`表示显示屏的边框厚度,α表示相邻两块显示屏之间的夹角,假设三维空间中一点P的三维空间坐标系1中的坐标值为P(x,y,z),则点P在空间坐标系2中的坐标值P`(x`,y`,z`)可以表示为:其中T为平移矩阵,R为旋转矩阵,且R=RxRyRz,Rx(θx)=1000cosθx-sinθx0sinθxcosθx,Ry(θy)=cosθy0sinθy010-sinθy0cosθy,]]>Rz(θz)=cosθz-sinθz...

【专利技术属性】
技术研发人员:田雍黄晨
申请(专利权)人:上海金陵电子网络股份有限公司
类型:发明
国别省市:上海;31

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

1