三维场景分布式渲染同步刷新方法和系统的制作方法

文档序号:6524808阅读:224来源:国知局
三维场景分布式渲染同步刷新方法和系统的制作方法
【专利摘要】一种三维场景分布式渲染同步刷新方法和系统,其中三维场景分布式渲染同步刷新方法,包括步骤:获取待刷新三维场景中的三维模型数据,按照图形工作站渲染性能参数和预设渲染帧率将三维模型数据进行分组;依次将每组三维模型数据进行分布式渲染,生成相应的图像;将同一组三维模型数据渲染得到的图像同步刷新显示。本发明方案通过将待刷新三维场景以三维模型数据为基准渲染成多个画面,将同一组三维模型数据渲染得到的图像同步刷新显示,从而实现显示单元内三维显示内容同步刷新。
【专利说明】三维场景分布式渲染同步刷新方法和系统
【技术领域】
[0001]本发明涉及三维场景刷新【技术领域】,特别是涉及三维场景分布式渲染同步刷新方法和系统。
【背景技术】
[0002]三维场景是指在多维信息空间上创建一个虚拟信息环境,模拟出一个可交互的、虚幻的空间场景。三维场景漫游是指在三维场景实现的虚拟现实漫游。随着可视化技术不断发展,三维虚拟漫游有着广泛应用,如游戏、飞行训练、军事演习模拟、地理信息系统(GIS)等。虚拟现实的实时同步得到了越来越广泛地应用,实时分布式渲染在拼墙系统上实时同步有效地解决了普通PC机渲染的时间瓶颈问题,提高了系统实时渲染性能和输出分辨率。
[0003]三维场景在拼墙系统漫游中,由于拼墙各个显示单元的场景复杂度不一样,这样就造成了渲染端节点负载不平衡,这将导致各输出端节点显示的图像不能组成一幅连贯的图像。在动态的三维场景,不断变化相机参数,很难保证拼墙的显示单元的同步画面。特别是在高清三维场景刷新的过程中,会出现拼墙各个显示单元显示内容不一致现象。
[0004]现在技术为了实现分布式渲染,往往将待刷新三维场景按照拼墙信息进行切割得到若干局部场景,在各图形工作站分别对局部场景进行渲染,即实现单帧图像的渲染分布到多台图形工作站中。每个图形工作站对应拼墙的一个显示单元,显示单元将渲染后的图像进行显示。在分布式渲染时对相机同步,从而实现每个显示单元的显示同步。但不能解决超高清实时变化的三维场景的画面内容出现不一致的现象。比如,一辆车的画面,可能车头在第一显示单元显示出来了,车尾却没有在第二显示单元显示出来。在分布式渲染节点机上,当节点机出现卡屏时,会出现显示效果不高的现象。

【发明内容】

[0005]基于此,有必要针对三维场景分布式渲染时显示画面不同步的问题,提供一种三维场景分布式渲染同步刷新方法和系统。
[0006]一种三维场景分布式渲染同步刷新方法,包括步骤:
[0007]获取待刷新三维场景中的三维模型数据,按照图形工作站渲染性能参数和预设渲染帧率将三维模型数据进行分组;
[0008]依次将每组三维模型数据进行分布式渲染,生成相应的图像;
[0009]将同一组三维模型数据渲染得到的图像同步刷新显示。
[0010]一种三维场景分布式渲染同步刷新系统,包括:
[0011]三维模型数据获取模块,用于获取待刷新三维场景中的三维模型数据,按照图形工作站渲染性能参数和预设渲染帧率将三维模型数据进行分组;
[0012]渲染模块,用于依次将每组三维模型数据进行分布式渲染,生成相应的图像;
[0013]显示模块,用于将同一组三维模型数据渲染得到的图像同步刷新显示。[0014]上述三维场景分布式渲染同步刷新方法和系统,通过获取待刷新三维场景中的三维模型数据,并按照图形工作站渲染性能参数和预设渲染帧率将三维模型数据进行分组,依次将每组三维模型数据进行分布式渲染,生成相应的图像;将同一组三维模型数据渲染得到的图像同步刷新显示。这样通过将待刷新三维场景以三维模型数据为基准渲染成多个画面,将同一组三维模型数据渲染得到的图像同步刷新显示,从而可以保证显示单元内三维显示内容同步刷新。并且通过分组,可以提高刷新效率。
【专利附图】

【附图说明】
[0015]图1为本发明三维场景分布式渲染同步刷新方法实施例的流程示意图;
[0016]图2为本发明三维场景分布式渲染同步刷新系统实施例的结构示意图。
【具体实施方式】
[0017]以下针对本发明三维场景分布式渲染同步刷新方法和系统的各实施例进行详细的描述。
[0018]如图1所示,为本发明三维场景分布式渲染同步刷新方法实施例的流程示意图,包括:
[0019]步骤S101:获取待刷新三维场景中的三维模型数据,按照图形工作站渲染性能参数和预设渲染帧率将三维模型数据进行分组;
[0020]待刷新三维场景包括三维模型数据、纹理、材质等。三维模型数据是指以逻辑结构为单元的数据模型,比如三维场景中有10个人和5辆车,则对应有10个关于人的三维模型数据和5个关于车的三维模型数据。本实施例获取整个场景中所有三维模型数据,然后对三维模型数据进行分组,分组目的是在可实现本方案的前提下,可以提高刷新效率。比如,一个三维场景有1000个模型,则将场景分成20组,每组加入50个模型。这样,后续显示中每次刷新画面会增加50个模型,即分成20次加入三维场景。后续渲染过程中,渲染第一次加入50个模型的图像,渲染第二次生加入100个模型的图像,以此类推。
[0021]步骤S102:依次将每组三维模型数据进行分布式渲染,生成相应的图像;
[0022]每次将一组三维模型数据对应的图像进行渲染,渲染方式采用分布式,即可以采用多个图形工作站对每组三维模型数据对应的图像进行分布渲染。可以按照区域、拼墙信息等规则设置图形工作站,从而实现分布式渲染。比如,每个拼墙的显示单元对应一个图形工作站,则4x4的拼墙则有16个图形工作站与其对应。每个图形工作站对每组三维模型数据的对应内容进行渲染,对应内容是指与该图形工作站连接的显示单元即将要显示的内容。比如,假设第一个图形工作站对应拼墙的第一个显示单元。第一图形工作站将三维模型数据在第一显示单元即将要显示出来的部分进行渲染,获得一帧图像。以此类推,每个图形工作站都会获得一帧图像。当显示单元对应三维模型数据部分没有三维模型数据时,此时该显示单元对应的图形工作站渲染出来的图片内容为空。
[0023]步骤S103:将同一组三维模型数据渲染得到的图像同步刷新显示。
[0024]同一组三维模型数据进行分布式渲染后,会得到对应显示单元个数的图像,将这些图像同步显示,则可以实现显示画面内容同步。特别是当一个三维模型数据跨越多个显示单元时,采用本发明方案可以实现一个三维模型数据对应图像的同步,则不会出现画面撕裂的现象,从而很好的达到画面内容同步刷新。由于本方案还将三维模型数据进行分组,因此可以实现一组三维模型数据对应画面内容同步,进一步提高了画面质量和刷新效率。
[0025]实现将同一组三维模型数据渲染得到的图像同步进行刷新显示的方法有很多种,比如,对同一组渲染得到的图像先进行标记,然后将标记相同的渲染图进行同步刷新显示。在其中一个实施例中,可以对同一组渲染得到的图像进行编号,具体为:
[0026]将同一组三维模型数据渲染得到的图像同步刷新显示步骤,包括:
[0027]Al:按照设定编号规则对渲染得到的图像进行编号,其中,设定编号规则为同一组三维模型数据渲染得到的图像的号码相同;具体编号的号码可以是连续的数字、连续的字母,当然也可以是其他其标志性作用的编号。
[0028]A2:将编号后的图像通过对应显示单元进行缓存;比如,当划分为7组时,按照连续数字进行编号为I至7。每个显示单元都缓存有编号为I至7的图像。
[0029]A3:将编号后的图像按照编号的号码顺序进行刷新显示,并且号码相同的图像同步刷新显示。即各个显示单元同步显示号码为I的图像,接着同步显示号码为2的图像,以此类推。这里的同步显示即为同时显示。
[0030]本实施例通过编号的形式可以简单的实现将同一组三维模型数据渲染得到的图像同步刷新显示。
[0031]在其中一个实施例中,可以先判断每个显示单元图像号码是否与预设的号码顺序匹配,将缺失的号码对应的图像均不进行显示,从而可以避免卡屏影响画面质量,提高显示质量。具体如下:
[0032]将编号后的图像按照编号的号码顺序进行刷新显示,并且号码相同的图像同步刷新显示步骤,包括:
[0033]判断每个显示单元缓存的图像的号码是否与编号的号码顺序匹配,若是,则将编号后的图像按照编号的号码顺序依次进行刷新显示,并且号码相同的图像同步刷新显示,若否,则按照编号的号码顺序对各显示单元同时存在的号码对应的图像进行刷新显示,并且号码相同的图像同步刷新显示。
[0034]本实施例主要是想找出卡屏带来的缺失图像,比如在第一图形工作站中出现卡屏,从而没有将该部分内容渲染出来,则第一显示单元缓存中不存在该部分内容,也就不存在该编号,比如编号为3的图像。则可以将缺失的编号3发送至分布式服务器,分布式服务器通知其他显示单元对编号3的图像不进行刷新显示。当然,也可以将该缺失帧缓存对应的时钟发送给其他显示单元,其他显示单元进行到此时间时,将对缓存的帧不进行显示处理。从而可以避免卡屏带来的图像撕裂。
[0035]相同号码图像同步刷新的方法有很多种,比如可以通过一个总控制器发送指令给各个显示单元,各个显示单元在接收到对应指令后才进行相应刷新显示。在其中一个实施例中,将编号后的图像按照编号的号码顺序进行刷新显示,并且号码相同的图像同步刷新显示步骤,包括:
[0036]B1:将各个显示单元设置时钟脉冲,且各个显示单元时钟脉冲的频率设置为同一频率;本实施例需要在各个显示单元中设置时钟脉冲,每个显示单元时钟脉冲的频率是一致的,以便后续每个显示单元的图像根据时钟脉冲进行刷新的频率是相同的。
[0037]B2:对各个显示单元的时钟进行同步校准;设置时钟脉冲可以设置一次就可以了,而进行同步校准时可以实时检测并进行校准,也可以设定一个时间间隔,固定时间间隔后对其检测并同步校准。
[0038]B3:通过同步校准后的显示单元将缓存的图像按照号码顺序和时钟脉冲进行刷新显示。将缓存的图像案子号码顺序进行刷新显示,比如,每个显示单元的号码为1到7,则每个显示单元根据时钟脉冲的频率将1到7对应的图像进行依次刷新。
[0039]本实施例通过时钟同步方法对三维场景每缓存中的帧内容进行同步刷新显示,由于显示单元可以根据本地的时钟脉冲直接对帧内容进行刷新,无需接受其他指令,因此可以避免由于网络的原因导致各显示单元接受指令的时间不同,从而避免了由于网络导致的刷新内容不同步。本实施例带来了超高清三维场景刷新内容同步并提高显示效率的有益效果。
[0040]在同步校准中,可以先对其进行监测,查看是否需要进行校准。比如可以通过实时调整时钟服务器时钟,将时钟服务器的时钟参数发送至各个显示单元,各个显示单元对比本地时钟和接收的时钟参数,从而判断是否需要校准。在另一个实施例中,对各个显示单元的时钟进行同步校准步骤,包括:
[0041]C1:通过各个显示单元向时钟服务器发送同步时间戳,并记录第一发送时间;
[0042]C2:接收时钟服务器返回的各个显示单元的应答时间戳,并记录接收应答时间戳的第一接收时间,其中应答时间戳包括时钟服务器接收同步时间戳的第二接收时间和发送应答时间戳的第二发送时 间;
[0043]C3:根据第一接收时间、第二接收时间、第一发送时间、第二发送时间确定各个显示单元的时间误差;
[0044]这里的接收时间和发送时间都是指本地时间。比如,第一发送时间即第一发送本地时间tl,第一接收时间即第一接收本地时间t2,第二发送时间即第二发送本地时间T2,第二接收时间即第二本地接收时间T1。则,显示单元误差Θ计算公式可以为:
[0045]
【权利要求】
1.一种三维场景分布式渲染同步刷新方法,其特征在于,包括步骤: 获取待刷新三维场景中的三维模型数据,按照图形工作站渲染性能参数和预设渲染帧率将三维模型数据进行分组; 依次将每组三维模型数据进行分布式渲染,生成相应的图像; 将同一组三维模型数据渲染得到的图像同步刷新显示。
2.根据权利要求1所述的三维场景分布式渲染同步刷新方法,其特征在于,所述将同一组三维模型数据渲染得到的图像同步刷新显示步骤,包括: 按照设定编号规则对渲染得到的图像进行编号,其中,设定编号规则为同一组三维模型数据渲染得到的图像的号码相同; 将编号后的图像通过对应显示单元进行缓存; 将编号后的图像按照编号的号码顺序进行刷新显示,并且号码相同的图像同步刷新显/Jn ο
3.根据权利要求2所述的三维场景分布式渲染同步刷新方法,其特征在于,所述将编号后的图像按照编号的号码顺序进行刷新显示,并且号码相同的图像同步刷新显示步骤,包括: 判断每个显示单元缓存的图像的号码是否与编号的号码顺序匹配,若是,则将编号后的图像按照编号的号码顺序依次进行刷新显示,并且号码相同的图像同步刷新显示,若否,则按照编号的号码顺序对各显示单元同时存在的号码对应的图像进行刷新显示,并且号码相同的图像同步刷新显示。
4.根据权利要求2所述的三维场景分布式渲染同步刷新方法,其特征在于,所述将编号后的图像按照编号的号码顺序进行刷新显示,并且号码相同的图像同步刷新显示步骤,包括: 将各个显示单元设置时钟脉冲,且各个显示单元时钟脉冲的频率设置为同一频率; 对各个显示单元的时钟进行同步校准; 通过同步校准后的显示单元将缓存的图像按照所述号码顺序和时钟脉冲进行刷新显示。
5.根据权利要求4所述的三维场景分布式渲染同步刷新方法,其特征在于,所述对各个显示单元的时钟进行同步校准步骤,包括: 通过各个显示单元向时钟服务器发送同步时间戳,并记录第一发送时间; 接收时钟服务器返回的各个显示单元的应答时间戳,并记录接收应答时间戳的第一接收时间,其中应答时间戳包括时钟服务器接收同步时间戳的第二接收时间和发送应答时间戳的第二发送时间; 根据第一接收时间、第二接收时间、第一发送时间、第二发送时间确定各个显示单元的时间误差; 当时间误差大于预设阈值时,根据时间误差对各显示单元的时钟进行校准。
6.根据权利要求1至5所述的三维场景分布式渲染同步刷新方法,其特征在于,所述三维模型数据为动态三维模型数据。
7.—种三维场景分布式渲染同步刷新系统,其特征在于,包括: 三维模型数据获取模块,用于获取待刷新三维场景中的三维模型数据,按照图形工作站渲染性能参数和预设渲染帧率将三维模型数据进行分组;渲染模块,用于依次将每组三维模型数据进行分布式渲染,生成相应的图像;显示模块,用于将同一组三维模型数据渲染得到的图像同步刷新显示。
8.根据权利要求7所述的三维场景分布式渲染同步刷新系统,其特征在于,所述显示模块,包括:编号模块,用于按照设定编号规则对渲染得到的图像进行编号,其中,设定编号规则为同一组三维模型数据渲染得到的图像的号码相同; 缓冲模块,用于将编号后的图像通过对应显示单元进行缓存;同步显示模块,用于将编号后的图像按照编号的号码顺序进行刷新显示,并且号码相同的图像同步刷新显示。
9.根据权利要求8所述的三维场景分布式渲染同步刷新系统,其特征在于,所述同步显示模块,包括:判断模块,用于判断每个显示单元缓存的图像的号码是否与编号的号码顺序匹配;第一子显示模块,用于当每个显示单元缓存的图像的号码与编号的号码顺序匹配时,将编号后的图像按照编号的号码顺序依次进行刷新显示,并且号码相同的图像同步刷新显示,第二子显示模块,用于当每个显示单元缓存的图像的号码与编号的号码顺序不匹配时,按照编号的号码顺序对各显示单元同时存在的号码对应的图像进行刷新显示,并且号码相同的图像同步刷新显示。
10.根据权利要求8或9所述的三维场景分布式渲染同步刷新系统,其特征在于,所述同步显示模块,包括:时钟脉冲设置模块,用于将各个显示单元设置时钟脉冲,且各个显示单元时钟脉冲的频率设置为同一频率;校准模块,用于对各个显示单元的时钟进行同步校准;第三子显示模块,用于通过同步校准后的显示单元将缓存的图像按照所述号码顺序和时钟脉冲进行刷新显示。
【文档编号】G06T15/00GK103700133SQ201310712451
【公开日】2014年4月2日 申请日期:2013年12月20日 优先权日:2013年12月20日
【发明者】林良辉 申请人:广东威创视讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1