一种图像渲染方法和图像渲染系统的制作方法_4

文档序号:9668224阅读:来源:国知局
并渲染模块906外,还可以包括计算切片模块908和数据保存模块9010,其中,
[0110]计算切片模块908用于在读取模块900读取当前需渲染的特效对象之前,在将所述特效对象注册到图形引擎时,计算所述特效对象每一帧中有效的显示数据,并对所述显示数据进行切片;
[0111]数据保存模块9010用于将切片后的第一类型显示数据保存在CpuRes中,将切片后的第二类型显示数据保存在GpuRes中。
[0112]进一步地,本发明实施例中的数据保存模块9010还用于,在计算切片模块908对所述显示数据进行切片之后,将切片后需要渲染的区域信息保存在擦除内存ClearRes中;
[0113]区域确定模块902具体用于,根据所述ClearRes中保存的当前帧以及下一帧的需要渲染的区域信息,确认当前帧以及下一帧需要渲染的局部区域。
[0114]再进一步地,本发明实施例中的计算切片模块908具体用于采用三角形图像计算法计算所述特效对象每一帧中有效的显示数据,并对所述显示数据进行三角形切片;
[0115]数据保存模块9010具体用于,将小于第一预设阈值的三角形切片的显示数据保存在CpuRes中,将大于第二预设阈值的三角形切片的显示数据保存在GpuRes中;
[0116]其中所述小于第一预设阈值的三角形切片的显示数据为所述第一类型显示数据,所述大于第二预设阈值的三角形切片的显示数据为所述第二类型显示数据;所述第一预设阈值小于或等于所述第二预设阈值。
[0117]再进一步地,如图11示出的本发明提供的图像渲染系统的另一实施例的结构示意图,图像渲染系统90包括读取模块900、区域确定模块902、预计算渲染模块904、合并渲染模块906、计算切片模块908和数据保存模块9010外,还可以包括时间预计算模块9012,用于在区域确定模块902确定当前帧以及下一帧需要渲染的局部区域之前,预计算所述当前帧k渲染所需的时间Τκ,以及所述当前帧往下第一帧k+Ι渲染所需的时间Τκ+1;
[0118]当所述^大于所述Τκ+1时,时间预计算模块9012还用于预计算所述当前帧往下第二帧k+2渲染所需的时间Τκ+2,当所述IVh于所述Τ K+1时,将所述当前帧往下第一帧k+Ι作为所述下一帧;
[0119]当所述IVh于所述Τ K+1与所述Τ κ+2之和时,将所述当前帧往下第二帧k+2作为所述下一帧;当所述^大于所述Τ K+1与Τ κ+2之和时,时间预计算模块9012还用于预计算所述当前帧往下第三帧k+3渲染所需的时间Τκ+3,直到满足公式TK〈TK+1+TK+2...+Τκ+η时,所述Τ κ+η为所述当前帧往下第η帧k+n渲染所需的时间,其中所述η为大于2的自然数,将所述当前帧往下第η帧k+n作为所述下一帧。
[0120]再进一步地,合并渲染模块906得到当前帧完整的显示图像之后,将所述下一帧作为当前帧并继续执行所述根据预先注册所述特效对象时切片保存的显示数据,并触发区域确定模块902执行确定当前帧以及下一帧需要渲染的局部区域的步骤。
[0121]再进一步地,如图12示出的本发明提供的图像渲染系统的另一实施例的结构示意图,图像渲染系统90包括读取模块900、区域确定模块902、预计算渲染模块904、合并渲染模块906、计算切片模块908、数据保存模块9010和时间预计算模块9012外,还可以包括销毁模块9014,用于当对所述特效对象渲染完成后,在特效队列中将所述特效对象销毁;并触发读取模块900从所述特效队列中读取下一个需要渲染的特效对象。
[0122]需要说明的是,图像渲染系统90还可以包括预计算渲染器、底层图形库渲染器、特效队列管理器等,图中并没有标示出来。图像渲染系统90包括但不限于移动电话、移动电脑、平板电脑、个人数字助理PDA、媒体播放器、智能电视、智能手表、智能眼镜、智能手环等设备。
[0123]请参阅图13,图13是本发明提供的图像渲染系统的另一实施例的结构示意图。其中,如图13所示,图像渲染系统130可以包括:至少一个处理器1301,例如CPU,至少一个网络接口 1304,用户接口 1303,存储器1305,至少一个通信总线1302以及显示屏1306。其中,通信总线1302用于实现这些组件之间的连接通信。其中,用户接口 1303可以包括显示屏(Display) 13,可选用户接口 1303还可以包括标准的有线接口、无线接口。网络接口1304可选的可以包括标准的有线接口、无线接口(如W1-FI接口)。存储器1305可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1305可选的还可以是至少一个位于远离前述处理器1301的存储装置。如图13所示,作为一种计算机存储介质的存储器1305中可以包括操作系统、网络通信模块、用户接口模块以及图像渲染程序。
[0124]在图13所示的图像渲染系统130中,该网络接口 1304可以用于连接服务器,与服务器进行数据通信;而处理器1301可以用于调用存储器1305中存储的图像渲染程序,并执行以下操作:
[0125]读取当前需渲染的特效对象,根据预先注册所述特效对象时切片保存的显示数据,确定当前帧以及下一帧需要渲染的局部区域;
[0126]通过预计算渲染器将所述局部区域在画布中擦除,并对所述中央处理器内存CpuRes中当前帧对应的第一类型显示数据进行预计算渲染,得到预计算图形;
[0127]通过预设的底层图形库渲染器对图形处理器内存GpuRes中当前帧对应的第二类型显示数据进行渲染,并与所述预计算图形进行合并渲染,得到当前帧完整的显示图像;
[0128]其中,所述当前帧需要渲染的局部区域包括所述第一类型显示数据和所述第二类型显示数据,所述第一类型显示数据小于所述第二类型显示数据。
[0129]具体地,处理器1301在所述读取当前需渲染的特效对象之前,还可以执行:
[0130]在将所述特效对象注册到图形引擎时,计算所述特效对象每一帧中有效的显示数据,并对所述显示数据进行切片;
[0131]将切片后的第一类型显示数据保存在CpuRes中,将切片后的第二类型显示数据保存在GpuRes中。
[0132]具体地,处理器1301对所述显示数据进行切片之后,还可以执行:将切片后需要渲染的区域信息保存在擦除内存ClearRes中;
[0133]处理器1301根据预先注册所述特效对象时切片保存的显示数据,确定当前帧以及下一帧需要渲染的局部区域,包括:根据所述ClearRes中保存的当前帧以及下一帧的需要渲染的区域信息,确认当前帧以及下一帧需要渲染的局部区域。
[0134]具体地,处理器1301计算所述特效对象每一帧中有效的显示数据,并对所述显示数据进行切片;将切片后的第一类型显示数据保存在CpuRes中,将切片后的第二类型显示数据保存在GpuRes中,包括:
[0135]采用三角形图像计算法计算所述特效对象每一帧中有效的显示数据,并对所述显示数据进行三角形切片;
[0136]将小于第一预设阈值的三角形切片的显示数据保存在CpuRes中,将大于第二预设阈值的三角形切片的显示数据保存在GpuRes中;
[0137]其中所述小于第一预设阈值的三角形切片的显示数据为所述第一类型显示数据,所述大于第二预设阈值的三角形切片的显示数据为所述第二类型显示数据;所述第一预设阈值小于或等于所述第二预设阈值。
[0138]具体地,处理器1301在所述确定当前帧以及下一帧需要渲染的局部区域之前,还可以执行:
[0139]预计算所述当前帧k渲染所需的时间Τκ,以及所述当前帧往下第一帧k+Ι渲染所需的时间Τκ+1;
[0140]当所述^大于所述Τκ+1时,预计算所述当前帧往下第二帧k+2渲染所需的时间τκ+2,当所述IVJ、于所述τ K+1时,将所述当前帧往下第一帧k+i作为所述下一帧;
[0141]当所述IVh于所述Τ K+1与所述Τ κ+2之和时,将所述当前帧往下第二帧k+2作为所述下一帧;当所述^大于所述Τ K+1与Τ κ+2之和时,预计算所述当前帧往下第三帧k+3清染所需的时间Τκ+3,直到满足公式TK〈TK+1+TK+2...+Τκ+η时,所述Τ κ+η为所述当前帧往下第η帧k+n渲染所需的时间,其中所述η为大于2的自然数,将所述当前帧往下第η帧k+n作为所述下一帧。
[0142]具体地,得到当前帧完整的显示图像之后,处理器1301将所述下一帧作为当前帧并继续执行所述根据预先注册所述特效对象时切片保存的显示数据,确定当前帧以及下一帧需要渲染的局部区域的步骤。
[0143]具体地,当对所述特效对象渲染完成后,处理器1301在特效队列中将所述特效对象销毁,并从所述特效队列中读取下一个需要渲染的特效对象。
[0144]可理解的是,本发明实施例中的图像渲染系统90或图像渲染系统130的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
[0145]综上所述,通过实施本发明实施例,先通过预计算渲染器对所述中央处理器内存CpuRes中当前帧对应的第一类型显示数据进行预计算渲染,得到预计算图形,再通过预设的底层图形库渲染器对图形处理器内存GpuRes中当前帧对应的第二类型显示数据进行渲染,并
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1