数据处理方法、装置、介质、电子设备及程序产品与流程

文档序号:29258437发布日期:2022-03-16 11:40阅读:108来源:国知局
数据处理方法、装置、介质、电子设备及程序产品与流程

1.本技术涉及计算机及图形数据处理技术领域,具体而言,涉及一种数据处理方法、装置、介质、电子设备及程序产品。


背景技术:

2.在图形数据处理场景中,比如在针对世界空间中透射材质物体的渲染场景,目前还未实现透射材质物体(比如能透过部分光线的物体)的光线追踪透射效果,比如无法实现类似树叶背面透光或窗帘透光的效果,导致对于透射材质物体的最终渲染结果不理想。从而不能保证渲染效果的真实性。基于此,如何提高对世界空间中透射材质物体进行渲染的真实性以增强用户体验是亟待解决的技术问题。


技术实现要素:

3.本技术的实施例提供了一种数据处理方法、装置、计算机程序产品或计算机程序、计算机可读介质及电子设备,进而至少在一定程度上可以提高对世界空间中透射材质物体进行渲染的真实性。
4.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
5.根据本技术实施例的一个方面,提供了一种数据处理方法,所述方法包括:在世界空间中确定与屏幕空间中屏幕像素点对应的目标着色点,以及所述目标着色点所在的透射材质物体;生成从所述目标着色点朝向世界空间中的光源射出的光源追踪射线,并确定所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度;基于所述透射材质物体的物体厚度,确定所述透射材质物体上目标着色点的目标颜色。
6.根据本技术实施例的一个方面,提供了一种数据处理装置,所述装置包括:第一确定单元,被用于在世界空间中确定与屏幕空间中屏幕像素点对应的目标着色点,以及所述目标着色点所在的透射材质物体;生成单元,被用于生成从所述目标着色点朝向世界空间中的光源射出的光源追踪射线,并确定所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度;第二确定单元,被用于基于所述透射材质物体的物体厚度,确定所述透射材质物体上目标着色点的目标颜色。
7.在本技术的一些实施例中,基于前述方案,所述装置还包括:第一获取单元,被用于在世界空间中确定与屏幕空间中屏幕像素点对应的目标着色点之前,获取屏幕空间中的透射材质物体;还原单元,被用于对所述屏幕空间中的透射材质物体进行空间还原,得到世界空间中的透射材质物体。
8.在本技术的一些实施例中,基于前述方案,所述生成单元配置为:在生成从所述目标着色点朝向世界空间中的光源射出的光源追踪射线之后,实时获取所述光源在所述世界空间中的光源位置;在所述光源位置发生变化时,实时更新所述光源追踪射线。
9.在本技术的一些实施例中,基于前述方案,所述生成单元还配置为:在生成从所述
目标着色点朝向世界空间中的光源射出的光源追踪射线之后,实时获取所述目标着色点在所述世界空间中的目标着色点位置;在所述目标着色点位置发生变化时,实时更新所述光源追踪射线。
10.在本技术的一些实施例中,基于前述方案,所述生成单元还配置为:通过所述光源追踪射线进行第一阶段的光路追踪;如果所述光源追踪射线在第一阶段的光路追踪中没有追踪到第一平面,则将所述物体厚度确定为0,所述第一平面为所述世界空间中的光源直射平面。
11.在本技术的一些实施例中,基于前述方案,所述生成单元还配置为:如果所述光源追踪射线在第一阶段的光路追踪中追踪到第一平面,且所述目标着色点所在透射材质物体和所述第一平面所在的物体属于同一物体,则记录所述光源追踪射线在追踪到第一平面之前的追踪距离;以所述光源追踪射线与所述第一平面的交点为起点,通过所述光源追踪射线进行第二阶段的光路追踪;如果所述光源追踪射线在第二阶段的光路追踪中没有追踪到第二平面,则将所述追踪距离确定为所述物体厚度,所述第二平面为世界空间中的光源遮挡平面。
12.在本技术的一些实施例中,基于前述方案,所述生成单元还配置为:如果所述光源追踪射线在第二阶段的光路追踪中追踪到第二平面,则将所述物体厚度确定为无穷大。
13.在本技术的一些实施例中,基于前述方案,所述生成单元还配置为:如果所述光源追踪射线在第一阶段的光路追踪中追踪到第二平面,且所述目标着色点所在透射材质物体和所述第二平面所在的物体不属于同一物体,则将所述物体厚度确定为无穷大。
14.在本技术的一些实施例中,基于前述方案,所述第二确定单元配置为:基于所述透射材质物体的透明度和物体厚度,计算所述透射材质物体在所述光源追踪射线的射线方向上的透射率;根据所述透射率和所述目标着色点的物体颜色,确定所述透射材质物体上目标着色点的目标颜色。
15.在本技术的一些实施例中,基于前述方案,所述第二确定单元还配置为:获取所述透射材质物体上目标着色点的反射率;根据所述透射率、所述反射率,以及所述目标着色点的物体颜色,确定所述透射材质物体上目标着色点的目标颜色。
16.在本技术的一些实施例中,基于前述方案,所述装置还包括:第二获取单元,被用于获取所述透射材质物体上各个目标着色点的目标颜色;渲染单元,被用于基于所述透射材质物体上各个目标着色点的目标颜色,对所述透射材质物体进行渲染。
17.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中所述的数据处理方法。
18.根据本技术实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的数据处理方法。
19.根据本技术实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的数据处理方法。
20.在本技术的一些实施例所提供的技术方案中,通过光源射线追踪可以确定透射材
质物体在沿射向光源射线方向上的物体厚度,并根据透射材质物体所属材质的透明度,可以计算得到透射材质物体的透射率。进而可以根据透射材质物体的透射率和透射材质物体上目标着色点的物体颜色计算得到对应透射材质物体上目标着色点的最终颜色(即目标颜色)。由于本方案在计算透射材质物体上目标着色点的颜色时,考虑到了世界空间中透射材质物体上目标着色点的透射率,使得计算得到的目标着色点颜色能够表现出透射材质物体在光源下的透射效果,从而能够提高对世界空间中透射材质物体进行渲染的真实性。
21.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
22.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
23.图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图;
24.图2示出了根据本技术一个实施例的数据处理方法的流程图;
25.图3示出了根据本技术一个实施例的在生成从所述目标着色点朝向世界空间中的光源射出的光源追踪射线之后的方法流程图;
26.图4示出了根据本技术一个实施例的确定所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度的细节流程图;
27.图5示出了根据本技术一个实施例的确定所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度的细节流程图;
28.图6示出了根据本技术一个实施例的模拟光源追踪射线在世界空间上进行光线追踪的示意图;
29.图7示出了根据本技术一个实施例的基于所述透射材质物体的物体厚度,确定所述透射材质物体上目标着色点的目标颜色的细节流程图;
30.图8示出了根据本技术一个实施例的确定所述透射材质物体上目标着色点的目标颜色的整体流程图;
31.图9示出了根据本技术一个实施例的根据所述透射率和所述目标着色点的物体颜色,确定所述透射材质物体上目标着色点的目标颜色的细节流程图;
32.图10示出了根据本技术一个实施例的对所述透射材质物体进行渲染的方法流程图;
33.图11示出了根据本技术一个实施例的对所述透射材质物体进行渲染之后的效果图;
34.图12示出了根据本技术一个实施例的数据处理装置的框图;
35.图13示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
36.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形
式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
37.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。
38.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
39.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
40.需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
41.需要注意的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的对象在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在图示或描述的那些以外的顺序实施。
42.图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图。
43.如图1所示,系统架构可以包括终端设备(如图1中所示智能手机101、平板电脑102和便携式计算机103中的一种或多种)、网络104和服务器105。网络104用以在终端设备和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
44.在本技术的一个实施例中,可以是由终端设备将透射材质物体在屏幕空间中的图像信息发送给服务器105,服务器105在获取到透射材质物体在屏幕空间中的图像信息之后,在世界空间中确定与屏幕空间中屏幕像素点对应的目标着色点,以及所述目标着色点所在的透射材质物体。然后,服务器105生成从所述目标着色点朝向世界空间中的光源射出的光源追踪射线,并确定所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度,最后,服务器105基于所述透射材质物体的物体厚度,确定所述透射材质物体上目标着色点的目标颜色。
45.需要说明的是,本技术实施例所提供的数据处理方法可以由服务器105执行,相应地,数据处理装置一般设置于服务器105中。但是,在本技术的其它实施例中,终端设备也可以与服务器105具有相似的功能,从而执行本技术实施例所提供的数据处理方案。
46.还需要说明的是,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务
的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此,本技术在此不做限制。
47.需要解释的是,如上所述的云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展。通过建立云计算资源池(简称云平台,一般称为iaas(infrastructure as a service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
48.以下对本技术实施例的技术方案的实现细节进行详细阐述:
49.图2示出了根据本技术一个实施例的数据处理方法的流程图,该数据处理方法可以由具有计算处理功能的设备来执行,比如可以由图1中所示的终端设备来执行。参照图2所示,该数据处理方法至少包括步骤220至步骤260,详细介绍如下:
50.在步骤220中,在世界空间中确定与屏幕空间中屏幕像素点对应的目标着色点,以及所述目标着色点所在的透射材质物体。
51.在本技术的一个实施例中,在世界空间中确定与屏幕空间中屏幕像素点对应的目标着色点之前,还可以执行步骤211至步骤212:
52.步骤211,获取屏幕空间中的透射材质物体。
53.步骤212,对所述屏幕空间中的透射材质物体进行空间还原,得到世界空间中的透射材质物体。
54.在本技术中,所述屏幕空间可以是在游戏场景中用于在屏幕上显示物体的二维空间,因此,屏幕空间中可以包括各种物体对象(可以是透射材质物体,比如一片树叶,一个窗帘等等)。
55.在本技术中,对所述屏幕空间的透射材质物体进行空间还原,得到世界空间的透射材质物体,实际上是将透射材质物体信息从二维空间还原到三维空间,例如,将一片树叶从二维画面还原到三维画面。可以理解的是,世界空间中包括有与屏幕空间中各个透射材质物体一一对应的透射材质物体。
56.在本技术中,针对屏幕空间中的任意一个屏幕像素点,都可以在世界空间中确定一个与之相对应的目标着色点,且世界空间中的目标着色点可以对应落在透射材质物体上。比如,在屏幕空间中包括一片树叶,若选取的屏幕像素点落在屏幕空间中的树叶上,那么可以在世界空间中找到一个与树叶对应的树叶,且在该树叶上有一个与选取的屏幕像素点对应的目标着色点。
57.在步骤240中,生成从所述目标着色点朝向世界空间中的光源射出的光源追踪射线,并确定所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度。
58.在本技术中,所述世界空间中包括有至少一个光源,例如,在游戏的三维场景中,可以包括有至少一个光源,比如所述光源可以是太阳光,或者是灯光。
59.在本技术的一个实施例中,在生成从所述目标着色点朝向世界空间中的光源射出的光源追踪射线之后,可以执行如图3所示的步骤:
60.参见图3,示出了根据本技术一个实施例的在生成从所述目标着色点朝向世界空
间中的光源射出的光源追踪射线之后的方法流程图。具体包括步骤231至步骤232:
61.步骤231,实时获取所述光源在所述世界空间中的光源位置。
62.步骤232,在所述光源位置发生变化时,实时更新所述光源追踪射线。
63.在本技术中,世界空间中的光源可以是时刻发生着变化的,比如,在游戏场景中,世界空间中的光源位置(比如太阳光)随着时间的变化而变化,不同时间的光源照射方向不同,因此,需要根据光源位置的变化实时更新从透射材质物体的目标着色点射向光源的光源追踪射线。
64.在本技术中,通过光源位置的变化实时更新所述光源追踪射线,可以在后续中真实模拟得到与真实空间对应的世界空间,从而提高对世界空间中透射材质物体进行渲染的真实性。
65.在本技术的一个实施例中,在生成从所述目标着色点朝向世界空间中的光源射出的光源追踪射线之后,还可以执行如下步骤233至步骤234:
66.步骤233,实时获取所述目标着色点在所述世界空间中的目标着色点位置;
67.步骤234,在所述目标着色点位置发生变化时,实时更新所述光源追踪射线。
68.在本技术中,世界空间中的透射材质物体的位置也是可以发生着变化的,这就会使得透射材质物体上的目标着色点位置随之发生变化。比如,在游戏场景中,世界空间中一片树叶随风飘动,从而带动该树叶上的目标着色点位置随之发生变化,因此,需要根据目标着色点位置的变化实时更新从透射材质物体的目标着色点射向光源的光源追踪射线。
69.在本技术中,通过目标着色点位置的变化实时更新所述光源追踪射线,也可以在后续中真实模拟得到与真实空间对应的世界空间,从而提高对世界空间中透射材质物体进行渲染的真实性。
70.在本技术的一个实施例中,确定所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度,可以按照如图4所示的步骤执行。
71.参照图4,示出了根据本技术一个实施例的确定所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度的细节流程图。具体包括步骤241至步骤242:
72.步骤241,通过所述光源追踪射线进行第一阶段的光路追踪。
73.步骤242,如果所述光源追踪射线在第一阶段的光路追踪中没有追踪到第一平面,则将所述物体厚度确定为0,所述第一平面为所述世界空间中的光源直射平面。
74.在本技术中,上述中提到的平面可以是所述世界空间中不同介质之间的分界面,例如,透射材质物体与空气分界面。
75.需要说明的是,在计算机中,如上所述的透射材质物体实际上是通过数学模型所构建的,而平面则可以是通过数学模型所构建的一个三角平面,该三角平面作为透射材质物体表面的一部分。
76.在本技术中,如果所述光源追踪射线在第一阶段的光路追踪中没有追踪到第一平面,即说明光源追踪射线的追踪终点为光源,进一步说明在目标着色点所在的透射材质物体表面为光源照射的直射面,因此,可以理解的是,从所述目标着色点射出,所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度为0。
77.在本实施例中,确定所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度,还可以按照如图5所示的步骤执行。
78.参照图5,示出了根据本技术一个实施例的确定所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度的细节流程图。具体包括步骤243至步骤245:
79.步骤243,如果所述光源追踪射线在第一阶段的光路追踪中追踪到第一平面,且所述目标着色点所在透射材质物体和所述第一平面所在的物体属于同一物体,则记录所述光源追踪射线在追踪到第一平面之前的追踪距离。
80.步骤244,以所述光源追踪射线与所述第一平面的交点为起点,通过所述光源追踪射线进行第二阶段的光路追踪。
81.步骤245,如果所述光源追踪射线在第二阶段的光路追踪中没有追踪到第二平面,则将所述追踪距离确定为所述物体厚度,所述第二平面为世界空间中的光源遮挡平面。
82.在本技术中,如果所述光源追踪射线在第一阶段的光路追踪中追踪到平面,且所述目标着色点所在透射材质物体和所述平面所在的物体属于同一物体,即为光源追踪射线射出所述透射材质物体,即说明光源追踪射线在第一阶段的光路追踪路径在所述透射材质物体内,进一步的,在以所述光源追踪射线与所述平面的交点为起点的第二阶段的光路追踪中,如果所述光源追踪射线没有追踪到第二平面,即说明光源追踪射线在第二阶段的光路追踪中的追踪终点为光源,进一步说明第一平面为光源照射的直射面,因此,可以理解的是,从所述目标着色点射出,所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度为光源追踪射线在第一阶段的光路追踪中的追踪距离。
83.在本实施例中,确定所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度,还可以执行步骤247:
84.步骤246,如果所述光源追踪射线在第二阶段的光路追踪中追踪到第二平面,则将所述物体厚度确定为无穷大。
85.在本技术中,如果所述光源追踪射线在第二阶段的光路追踪中追踪到第二平面,即说明光源追踪射线遇到了新的物体,即说明目标着色点被除自身所在透射材质物体之外的其它新的物体遮挡了,在此情况下,可以理解的是,光源照射的光线不能直接照射在光源追踪射线与透射材质物体的交点上,因此,所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度可以确定为无穷大。
86.在本实施例中,确定所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度,还可以执行步骤243:
87.步骤247,如果所述光源追踪射线在第一阶段的光路追踪中追踪到第二平面,且所述目标着色点所在透射材质物体和所述第二平面所在的物体不属于同一物体,则将所述物体厚度确定为无穷大。
88.在本技术中,如果所述光源追踪射线在第一阶段的光路追踪中追踪到第二平面,且所述目标着色点所在透射材质物体和所述第二平面所在的物体不属于同一物体,则说明所述光源追踪射线在第一阶段的光路追踪中,从透射材质物体表面追踪到另一个物体表面,即说明光源追踪射线遇到了新的物体,即说明目标着色点被除自身所在透射材质物体之外的其它新的物体遮挡了,在此情况下,可以理解的是,光源照射的光线不能直接照射在光源追踪射线与透射材质物体的交点上,因此,所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度可以确定为无穷大。
89.为了使本领域技术人员更好的理解本实施例,下面将结合图6对本实施例进行说
明。
90.参见如图6,示出了根据本技术一个实施例的模拟光源追踪射线在世界空间上进行光线追踪的示意图。
91.如图6所示,世界空间中包括光源601、遮挡物体602,以及透射材质物体603,其中,透射材质物体603可以是一个球体,点a1,点a2,点b,点c,点d所在面为该球体的表面。通过图6可以理解的是,球体的阴影部分为该球体相对于光源的背面部分和被遮挡物体602遮挡的部分球体表面。
92.具体的,若a1为目标着色点,则由a1为起点,向光源601射出光源追踪射线,在a2到达平面(即球体表面),即光源追踪射线射出透射材质物体603,则射线路径a
1 a2位于透射材质物体603内。若由a2为起点,光源追踪射线可以直接追踪到光源。因此,可以将射线路径a
1 a2的长度作为透射材质物体603在光源追踪射线方向上的物体厚度。
93.若b1为目标着色点,则由b1为起点,向光源601射出光源追踪射线,可以看出,由b1射出的光源追踪射线可以直接追踪到光源。因此,可以将透射材质物体603在光源追踪射线方向上的物体厚度确定为0。
94.若c1为目标着色点,则由c1为起点,向光源601射出光源追踪射线,在c2到达平面(即球体表面),即光源追踪射线射出透射材质物体603,则射线路径c
1 c2位于透射材质物体603内。若由c2为起点,光源追踪射线无法直接追踪到光源,而只能追踪到遮挡602上的c3,而c3在一个第二平面上,可见,c2的光源被遮挡物体602遮挡了。因此,可以将透射材质物体603在光源追踪射线方向上的物体厚度确定为无穷大。
95.若d1为目标着色点,则由d1为起点,向光源601射出光源追踪射线,在d2到达平面,然而,目标着色点d1所在的透射材质物体与d2(平面)所在的物体不属于同一个物体,可见,目标着色点d1的光源被遮挡物体602遮挡了。因此,可以将透射材质物体603在光源追踪射线方向上的物体厚度确定为无穷大。
96.在步骤260中,基于所述透射材质物体的物体厚度,确定所述透射材质物体上目标着色点的目标颜色。
97.在本技术中,所述透射材质物体可以是具有透射材质的物体,例如,半透明球体,树叶,窗帘等等。基于此,可以指直接获取所述透射材质物体的透明度,透明度越高,则说明透射材质物体越容易被透射。
98.在本技术的一个实施例中,基于所述透射材质物体的物体厚度,确定所述透射材质物体上目标着色点的目标颜色,可以按照如图7所示的步骤执行。
99.参见图7,示出了根据本技术一个实施例的基于所述透射材质物体的物体厚度,确定所述透射材质物体上目标着色点的目标颜色的细节流程图。具体包括步骤261至步骤262:
100.步骤261,基于所述透射材质物体的透明度和物体厚度,计算所述透射材质物体在所述光源追踪射线的射线方向上的透射率。
101.步骤262,根据所述透射率和所述目标着色点的物体颜色,确定所述透射材质物体上目标着色点的目标颜色。
102.为了使本领域技术人员从整体上理解上述几个实施中关于确定所述透射材质物体上目标着色点的目标颜色的过程,下面将结合图8进行说明。
103.参见图8,示出了根据本技术一个实施例的确定所述透射材质物体上目标着色点的目标颜色的整体流程图。具体包括步骤801至步骤810:
104.步骤801,开始为屏幕空间中的屏幕像素点进行着色(即确定目标着色点的物体颜色)。
105.步骤802,将屏幕像素点从二维的屏幕空间还原到三维的世界空间,得到世界空间上的目标着色点,并作为射线追踪的起点。
106.步骤803,从起点向光源方向发出光源追踪射线。
107.步骤804,判断光源追踪射线是否追踪到平面,若是,则执行步骤806,若否,则执行步骤805。
108.步骤805,将记录的追踪距离记为物体厚度,若之前未记录追踪距离,则物体厚度记为0,继续执行步骤809。
109.步骤806,判断平面上的射线交点与目标着色点是否在同一物体上,若是,则执行步骤807,若否,则执行步骤808。
110.步骤807,记录将光源追踪射线的追踪距离,并将光源追踪射线与平面的交点作为新的起点,返回执行步骤803。
111.步骤808,将物体厚度记为无穷大,继续执行步骤809。
112.步骤809,根据物体厚度和透明度计算透射率。
113.步骤810,根据透射率和目标着色点的物体颜色计算目标着色点的目标颜色。
114.在本技术中,通过光源射线追踪可以确定透射材质物体在沿射向光源射线方向上的物体厚度,并根据透射材质物体所属材质的透明度,可以计算得到透射材质物体的透射率。进而可以根据透射材质物体的透射率和透射材质物体上目标着色点的物体颜色计算得到对应透射材质物体上目标着色点的最终颜色。由于本方案在计算透射材质物体上目标着色点的颜色时,考虑到了世界空间中透射材质物体上目标着色点的透射率,使得计算得到的目标着色点颜色能够表现出透射材质物体在光源下的真实透射效果。
115.在如7所示步骤262的一个实施例中,根据所述透射率和所述目标着色点的物体颜色,确定所述透射材质物体上目标着色点的目标颜色,还可以按照如图9所示的步骤执行。
116.参见图9,示出了根据本技术一个实施例的根据所述透射率和所述目标着色点的物体颜色,确定所述透射材质物体上目标着色点的目标颜色的细节流程图。具体包括步骤2621至步骤2622:
117.步骤2621,获取所述透射材质物体上目标着色点的反射率。
118.步骤2622,根据所述透射率、所述反射率,以及所述目标着色点的物体颜色,确定所述透射材质物体上目标着色点的目标颜色。
119.在本技术中,还可以包括从所述目标着色点朝向其它方向射出的追踪射线。比如,这里的其它方向可以是从视觉方向在所述目标着色点上的反射方向。通过从所述目标着色点朝向其它方向射出的追踪射线,可以追踪到其它方向射向目标着色点的光线。
120.在本技术中,通过获取所述透射材质物体上目标着色点的反射率,并将所述反射率作为确定所述透射材质物体上目标着色点的目标颜色的参考因素,可以增强对所述透射材质物体上目标着色点的目标颜色确定的准确性,从而有利于在后续中增强透射材质物体在视觉上的真实度。
121.在本技术的一个实施例中,在如图2所示步骤260之后,即在基于所述透射材质物体的物体厚度,确定所述透射材质物体上目标着色点的目标颜色之后,还可以执行如图10所示的步骤。
122.参见图10,示出了根据本技术一个实施例的对所述透射材质物体进行渲染的方法流程图。具体包括步骤271至步骤272:
123.步骤271,获取所述透射材质物体上各个目标着色点的目标颜色。
124.步骤272,基于所述透射材质物体上各个目标着色点的目标颜色,对所述透射材质物体进行渲染。
125.图11示出了根据本技术一个实施例的对所述透射材质物体进行渲染之后的效果图。
126.如图11所示,提供了透射率分别为0.9,0.7,0.5,0.3下的渲染效果。可见,通过考虑世界空间中透射材质物体上目标着色点的透射率,使得计算得到的目标着色点颜色能够表现出透射材质物体在光源下的真实透射效果,从而能够提高对世界空间中透射材质物体进行渲染的真实性,进而能够增强透射材质物体在视觉上的真实度。
127.以下介绍本技术的装置实施例,可以用于执行本技术上述实施例中的数据处理方法。对于本技术装置实施例中未披露的细节,请参照本技术上述的数据处理方法的实施例。
128.图12示出了根据本技术的一个实施例的数据处理装置的框图。
129.参照图12所示,根据本技术的一个实施例的数据处理装置1200,包括:第一确定单元1201、生成单元1202和第二确定单元1203。
130.其中,第一确定单元1201,被用于在世界空间中确定与屏幕空间中屏幕像素点对应的目标着色点,以及所述目标着色点所在的透射材质物体;生成单元1202,被用于生成从所述目标着色点朝向世界空间中的光源射出的光源追踪射线,并确定所述透射材质物体在所述光源追踪射线的射线方向上的物体厚度;第二确定单元1203,被用于基于所述透射材质物体的物体厚度,确定所述透射材质物体上目标着色点的目标颜色。
131.在本技术的一些实施例中,基于前述方案,所述装置还包括:第一获取单元,被用于在世界空间中确定与屏幕空间中屏幕像素点对应的目标着色点之前,获取屏幕空间中的透射材质物体;还原单元,被用于对所述屏幕空间中的透射材质物体进行空间还原,得到世界空间中的透射材质物体。
132.在本技术的一些实施例中,基于前述方案,所述生成单元1202配置为:在生成从所述目标着色点朝向世界空间中的光源射出的光源追踪射线之后,实时获取所述光源在所述世界空间中的光源位置;在所述光源位置发生变化时,实时更新所述光源追踪射线。
133.在本技术的一些实施例中,基于前述方案,所述生成单元1202还配置为:在生成从所述目标着色点朝向世界空间中的光源射出的光源追踪射线之后,实时获取所述目标着色点在所述世界空间中的目标着色点位置;在所述目标着色点位置发生变化时,实时更新所述光源追踪射线。
134.在本技术的一些实施例中,基于前述方案,所述生成单元1202还配置为:通过所述光源追踪射线进行第一阶段的光路追踪;如果所述光源追踪射线在第一阶段的光路追踪中没有追踪到第一平面,则将所述物体厚度确定为0,所述第一平面为所述世界空间中的光源直射平面。
135.在本技术的一些实施例中,基于前述方案,所述生成单元1202还配置为:如果所述光源追踪射线在第一阶段的光路追踪中追踪到第一平面,且所述目标着色点所在透射材质物体和所述第一平面所在的物体属于同一物体,则记录所述光源追踪射线在追踪到第一平面之前的追踪距离;以所述光源追踪射线与所述第一平面的交点为起点,通过所述光源追踪射线进行第二阶段的光路追踪;如果所述光源追踪射线在第二阶段的光路追踪中没有追踪到第二平面,则将所述追踪距离确定为所述物体厚度,所述第二平面为世界空间中的光源遮挡平面。
136.在本技术的一些实施例中,基于前述方案,所述生成单元1202还配置为:如果所述光源追踪射线在第二阶段的光路追踪中追踪到第二平面,则将所述物体厚度确定为无穷大。
137.在本技术的一些实施例中,基于前述方案,所述生成单元1202还配置为:如果所述光源追踪射线在第一阶段的光路追踪中追踪到第二平面,且所述目标着色点所在透射材质物体和所述第二平面所在的物体不属于同一物体,则将所述物体厚度确定为无穷大。
138.在本技术的一些实施例中,基于前述方案,所述第二确定单元1203配置为:基于所述透射材质物体的透明度和物体厚度,计算所述透射材质物体在所述光源追踪射线的射线方向上的透射率;根据所述透射率和所述目标着色点的物体颜色,确定所述透射材质物体上目标着色点的目标颜色。
139.在本技术的一些实施例中,基于前述方案,所述第二确定单元1203还配置为:获取所述透射材质物体上目标着色点的反射率;根据所述透射率、所述反射率,以及所述目标着色点的物体颜色,确定所述透射材质物体上目标着色点的目标颜色。
140.在本技术的一些实施例中,基于前述方案,所述装置还包括:第二获取单元,被用于获取所述透射材质物体上各个目标着色点的目标颜色;渲染单元,被用于基于所述透射材质物体上各个目标着色点的目标颜色,对所述透射材质物体进行渲染。
141.图13示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
142.需要说明的是,图13示出的电子设备的计算机系统1300仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
143.如图13所示,计算机系统1300包括中央处理单元(central processing unit,cpu)1301,其可以根据存储在只读存储器(read-only memory,rom)1302中的程序或者从储存部分1308加载到随机访问存储器(random access memory,ram)1303中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在ram 1303中,还存储有系统操作所需的各种程序和数据。cpu 1301、rom 1302以及ram 1303通过总线1304彼此相连。输入/输出(input/output,i/o)接口1305也连接至总线1304。
144.以下部件连接至i/o接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1307;包括硬盘等的储存部分1308;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至i/o接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入储存部分1308。
145.特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(cpu)1301执行时,执行本技术的系统中限定的各种功能。
146.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
147.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
148.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
149.作为另一方面,本技术还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中所述的数据处理方法。
150.作为另一方面,本技术还提供了一种计算机可读介质,该计算机可读介质可以是
上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的数据处理方法。
151.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
152.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本技术实施方式的方法。
153.本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。
154.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1