基于深度的素材排序渲染方法、介质、设备及装置
技术领域
本发明涉及图像处理技术领域,特别涉及一种基于深度的素材排序渲染方法、一种计算机可读存储介质、一种计算机设备以及一种基于深度的素材排序渲染装置。
背景技术
相关技术中,在对素材进行渲染时,多根据素材的加载顺序进行渲染。然而,设计师在进行设计工作的过程中,素材的显示排序往往不是与加载顺序呈正相关的关系。因此,在这一过程中,就需要设计师对素材的排序进行不断地调整,并进行繁琐的操作,以使得素材的排序符合设计要求。特别地,在视频的制作过程中,当不同视频帧之间的素材呈现动态变化时,设计师对于素材排序的调整将呈指数增长。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种基于深度的素材排序渲染方法,能够自动对素材进行深度排序,以提高素材排序效率,降低素材排序渲染过程中所需要耗费的人力和物力。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种基于深度的素材排序渲染装置。
为达到上述目的,本发明第一方面实施例提出了一种基于深度的素材排序渲染方法,包括以下步骤:获取待处理素材,并计算所述待处理素材对应的变换矩阵,以及根据所述变换矩阵计算素材中每个顶点投影后的顶点坐标;根据所述每个顶点投影后的顶点坐标计算所述素材中每个像素对应的坐标值,其中,所述坐标值包括像素的深度坐标值;根据所述每个像素的深度坐标值更新深度排序表,并根据所述深度排序表对待处理素材进行渲染。
根据本发明实施例的基于深度的素材排序渲染方法,首先,获取待处理素材,并计算所述待处理素材对应的变换矩阵,以及根据所述变换矩阵计算素材中每个顶点投影后的顶点坐标;接着,根据所述每个顶点投影后的顶点坐标计算所述素材中每个像素对应的坐标值,其中,所述坐标值包括像素的深度坐标值;然后,根据所述每个像素的深度坐标值更新深度排序表,并根据所述深度排序表对待处理素材进行渲染;从而自动对素材进行深度排序,以提高素材排序效率,降低素材排序渲染过程中所需要耗费的人力和物力。
另外,根据本发明上述实施例提出的基于深度的素材排序渲染方法还可以具有如下附加的技术特征:
可选地,在根据所述每个顶点投影后的顶点坐标计算所述素材中每个像素对应的坐标值之后,还包括:获取所述待处理素材对应的抠图信息,并根据所述抠图信息获取相应的抠图区域,以便根据所述抠图区域和所述深度排序表对待处理素材进行渲染。
可选地,在根据所述每个顶点投影后的顶点坐标计算所述素材中每个像素对应的坐标值之后,还包括:获取所述待处理素材中每个像素所对应的颜色信息。
可选地,根据所述深度排序表对待处理素材进行渲染,包括:获取混合信息,并根据所述混合信息和所述深度排序表对待处理素材进行渲染。
为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有基于深度的素材排序渲染程序,该基于深度的素材排序渲染程序被处理器执行时实现如上述的基于深度的素材排序渲染方法。
根据本发明实施例的计算机可读存储介质,通过存储基于深度的素材排序渲染程序,以使得处理器在执行该基于深度的素材排序渲染程序时,实现如上述的基于深度的素材排序渲染方法,从而自动对素材进行深度排序,以提高素材排序效率,降低素材排序渲染过程中所需要耗费的人力和物力。
为达到上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现如上述的基于深度的素材排序渲染方法。
根据本发明实施例的计算机设备,通过存储器对基于深度的素材排序渲染程序进行存储,以使得处理器在执行该基于深度的素材排序渲染程序时,实现如上述的基于深度的素材排序渲染方法,从而自动对素材进行深度排序,以提高素材排序效率,降低素材排序渲染过程中所需要耗费的人力和物力。
为达到上述目的,本发明第四方面实施例提出了一种基于深度的素材排序渲染装置,包括:获取模块,所述获取模块用于获取待处理素材;计算模块,所述计算模块用于计算所述待处理素材对应的变换矩阵,并根据所述变换矩阵计算素材中每个顶点投影后的顶点坐标,以及根据所述每个顶点投影后的顶点坐标计算所述素材中每个像素对应的坐标值,其中,所述坐标值包括像素的深度坐标值;渲染模块,所述渲染模块用于根据所述每个像素的深度坐标值更新深度排序表,并根据所述深度排序表对待处理素材进行渲染。
根据本发明实施例的基于深度的素材排序渲染装置,通过设置获取模块用于获取待处理素材;计算模块用于计算待处理素材对应的变换矩阵,并根据变换矩阵计算素材中每个顶点投影后的顶点坐标,以及根据每个顶点投影后的顶点坐标计算素材中每个像素对应的坐标值,其中,坐标值包括像素的深度坐标值;渲染模块用于根据每个像素的深度坐标值更新深度排序表,并根据深度排序表对待处理素材进行渲染,从而自动对素材进行深度排序,以提高素材排序效率,降低素材排序渲染过程中所需要耗费的人力和物力。
另外,根据本发明上述实施例提出的基于深度的素材排序渲染装置还可以具有如下附加的技术特征:
可选地,在根据所述每个顶点投影后的顶点坐标计算所述素材中每个像素对应的坐标值之后,还包括:获取所述待处理素材对应的抠图信息,并根据所述抠图信息获取相应的抠图区域,以便根据所述抠图区域和所述深度排序表对待处理素材进行渲染。
可选地,在根据所述每个顶点投影后的顶点坐标计算所述素材中每个像素对应的坐标值之后,还包括:获取所述待处理素材中每个像素所对应的颜色信息。
可选地,根据所述深度排序表对待处理素材进行渲染,包括:获取混合信息,并根据所述混合信息和所述深度排序表对待处理素材进行渲染。
附图说明
图1为根据本发明实施例的基于深度的素材排序渲染方法的流程示意图;
图2为根据本发明另一实施例的基于深度的素材排序渲染方法的流程示意图;
图3为根据本发明实施例的基于深度的素材排序渲染装置的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
相关技术中,在对素材进行渲染时,需要设计师对素材的排序进行不断地调整,并进行繁琐的操作,耗费人力物力,根据本发明实施例的基于深度的素材排序渲染方法,首先,获取待处理素材,并计算待处理素材对应的变换矩阵,以及根据变换矩阵计算素材中每个顶点投影后的顶点坐标;接着,根据每个顶点投影后的顶点坐标计算素材中每个像素对应的坐标值,其中,坐标值包括像素的深度坐标值;然后,根据每个像素的深度坐标值更新深度排序表,并根据深度排序表对待处理素材进行渲染;从而自动对素材进行深度排序,以提高素材排序效率,降低素材排序渲染过程中所需要耗费的人力和物力。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
图1为根据本发明实施例的基于深度的素材排序渲染方法的流程示意图,如图1所示,该基于深度的素材排序渲染方法包括以下步骤:
S101,获取待处理素材,并计算待处理素材对应的变换矩阵,以及根据变换矩阵计算素材中每个顶点投影后的顶点坐标。
即言,在需要进行素材渲染时,首先获取待处理的素材,然后,计算待处理素材的变换矩阵,并根据该变换矩阵计算待处理素材的每个顶点在投影之后所对应的顶点坐标。其中,顶点坐标可以包括X轴坐标值、Y轴坐标值(即顶点的显示坐标值)和Z轴坐标值(即顶点的深度坐标值)。
S102,根据每个顶点投影后的顶点坐标计算素材中每个像素对应的坐标值,其中,坐标值包括像素的深度坐标值。
也就是说,在获取到每个顶点投影后的顶点坐标之后,根据每个顶点投影后的顶点坐标以及每个像素与各个顶点之间的距离差值计算该像素所对应的坐标值。
S103,根据每个像素的深度坐标值更新深度排序表,并根据深度排序表对待处理素材进行渲染。
作为一种示例,首先,在获取到每个像素所对应的坐标值之后,根据该坐标值对待处理素材的像素所对应的显示坐标值和深度坐标值进行记录;接着,在待处理素材不断增加时,在同一显示坐标上,将可能存在多个不同深度坐标值的像素;此时,可以根据每个像素的深度坐标值对同一显示坐标上的多个像素进行深度排序,进而,根据深度排序的结果对多个待处理素材进行渲染;从而,可以实现多个待处理素材中像素的自动排序;并且,可以实现例如:素材A的左半部分显示在素材B之前,而右半部分显示在素材B之后这样的效果。
具体地,在持续获取待处理素材,并计算得到每个素材中每个像素对应的坐标值之后,假设在同一显示坐标(X1,Y1)上存在三个像素点,三个像素点的坐标值分别为A(X1,Y1,20)、B(X1,Y1,50)、C(X1,Y1,150);从而,可以根据点A、B、C的深度坐标值20、50、150对三个像素点进行排序;其中,假设深度坐标值较小的像素在前,则此时,根据深度排序表,当前显示坐标所应显示的像素为像素点A。
在一些实施例中,为了提高本发明实施例提出的基于深度的素材排序渲染方法的可操作性,进一步提高设计师的实际效率。在根据每个顶点投影后的顶点坐标计算素材中每个像素对应的坐标值之后,还包括:
获取待处理素材对应的抠图信息,并根据抠图信息获取相应的抠图区域,以便根据抠图区域和深度排序表对待处理素材进行渲染。
即言,计算得到每个像素所对应的坐标值之后,获取用户对于待处理素材的抠图操作,以获得抠图信息,并根据该抠图信息确定用户标定的抠图区域;然后,根据抠图区域和深度排序表对待处理素材进行渲染;处理方式可以有多种,例如:在确定抠图区域之后,将待处理素材在该抠图区域中的像素所对应的透明值更改为0,以使得该部分像素在最终结果中不显示;或者,首先设置深度坐标值MAX,在获取到抠图区域之后,将待处理素材在该抠图区域中的像素所对应的深度坐标值更改为MAX,以便后续在根据深度坐标值进行排序时,对深度坐标值为MAX的像素进行不显示处理。
在一些实施例中,为了进一步提高本发明实施例提出的基于深度的素材排序渲染方法的渲染效果,根据深度排序表对待处理素材进行渲染,包括:获取混合信息,并根据混合信息和深度排序表对待处理素材进行渲染。
作为一种示例,首先,通过片段着色器获取待处理素材的颜色信息,然后,进一步获取用户选择的每个待处理素材的混合信息,并根据该混合信息选用相应的混合算法,以根据混合算法对相应的像素进行混合处理,接着,获取进行混合的多个像素对应的深度坐标值中的最小值,并将该最小值作为混合后像素所对应的深度坐标值,以便后续获取到新的待处理素材时,根据混合后的像素和对应的深度坐标值进行深度排序。
在本发明的一个具体实施例中,如图2所示,该基于深度的素材排序渲染方法包括以下步骤:
S201,获取待处理素材。
S202,计算待处理素材对应的变换矩阵。
S203,根据变换矩阵计算素材中每个顶点投影后的顶点坐标。
S204,根据每个顶点投影后的顶点坐标计算素材中每个像素对应的坐标值。
S205,判断待处理素材是否存在抠图信息;如果是,则执行步骤S206;如果否,则执行步骤S207。
S206,获取抠图信息对应的抠图区域。
S207,判断当前是否存在多个待处理素材;如果是,则执行步骤S208;如果否,则返回步骤S201。
S208,根据每个待处理素材中每个像素的深度坐标值更新深度排序表。
S209,获取每个待处理素材对应的混合信息。
S210,根据深度排序表、混合信息和抠图区域对待处理素材进行渲染。
综上所述,根据本发明实施例的基于深度的素材排序渲染方法,首先,获取待处理素材,并计算所述待处理素材对应的变换矩阵,以及根据所述变换矩阵计算素材中每个顶点投影后的顶点坐标;接着,根据所述每个顶点投影后的顶点坐标计算所述素材中每个像素对应的坐标值,其中,所述坐标值包括像素的深度坐标值;然后,根据所述每个像素的深度坐标值更新深度排序表,并根据所述深度排序表对待处理素材进行渲染;从而自动对素材进行深度排序,以提高素材排序效率,降低素材排序渲染过程中所需要耗费的人力和物力。
为了实现上述实施例,本发明实施例提出了一种计算机可读存储介质,其上存储有基于深度的素材排序渲染程序,该基于深度的素材排序渲染程序被处理器执行时实现如上述的基于深度的素材排序渲染方法。
根据本发明实施例的计算机可读存储介质,通过存储基于深度的素材排序渲染程序,以使得处理器在执行该基于深度的素材排序渲染程序时,实现如上述的基于深度的素材排序渲染方法,从而自动对素材进行深度排序,以提高素材排序效率,降低素材排序渲染过程中所需要耗费的人力和物力。
为了实现上述实施例,本发明实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现如上述的基于深度的素材排序渲染方法。
根据本发明实施例的计算机设备,通过存储器对基于深度的素材排序渲染程序进行存储,以使得处理器在执行该基于深度的素材排序渲染程序时,实现如上述的基于深度的素材排序渲染方法,从而自动对素材进行深度排序,以提高素材排序效率,降低素材排序渲染过程中所需要耗费的人力和物力。
为了实现上述实施例,本发明实施例提出了一种基于深度的素材排序渲染装置,如图3所示,该基于深度的素材排序渲染装置包括:获取模块10、计算模块20和渲染模块30。
其中,获取模块10用于获取待处理素材;
计算模块20用于计算待处理素材对应的变换矩阵,并根据变换矩阵计算素材中每个顶点投影后的顶点坐标,以及根据每个顶点投影后的顶点坐标计算素材中每个像素对应的坐标值,其中,坐标值包括像素的深度坐标值;
渲染模块30用于根据每个像素的深度坐标值更新深度排序表,并根据深度排序表对待处理素材进行渲染。
在一些实施例中,在根据每个顶点投影后的顶点坐标计算素材中每个像素对应的坐标值之后,还包括:
获取待处理素材对应的抠图信息,并根据抠图信息获取相应的抠图区域,以便根据抠图区域和深度排序表对待处理素材进行渲染。
在一些实施例中,在根据每个顶点投影后的顶点坐标计算素材中每个像素对应的坐标值之后,还包括:获取待处理素材中每个像素所对应的颜色信息。
在一些实施例中,根据深度排序表对待处理素材进行渲染,包括:
获取混合信息,并根据混合信息和深度排序表对待处理素材进行渲染。
需要说明的是,上述关于图1中基于深度的素材排序渲染方法的描述同样适用于该基于深度的素材排序渲染装置,在此不做赘述。
综上所述,根据本发明实施例的基于深度的素材排序渲染装置,通过设置获取模块用于获取待处理素材;计算模块用于计算待处理素材对应的变换矩阵,并根据变换矩阵计算素材中每个顶点投影后的顶点坐标,以及根据每个顶点投影后的顶点坐标计算素材中每个像素对应的坐标值,其中,坐标值包括像素的深度坐标值;渲染模块用于根据每个像素的深度坐标值更新深度排序表,并根据深度排序表对待处理素材进行渲染,从而自动对素材进行深度排序,以提高素材排序效率,降低素材排序渲染过程中所需要耗费的人力和物力。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。