CN115578277A - 液体渲染方法、装置、设备、计算机可读存储介质及产品 - Google Patents
液体渲染方法、装置、设备、计算机可读存储介质及产品 Download PDFInfo
- Publication number
- CN115578277A CN115578277A CN202211215056.XA CN202211215056A CN115578277A CN 115578277 A CN115578277 A CN 115578277A CN 202211215056 A CN202211215056 A CN 202211215056A CN 115578277 A CN115578277 A CN 115578277A
- Authority
- CN
- China
- Prior art keywords
- rendered
- target
- rendering
- liquid
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 327
- 239000007788 liquid Substances 0.000 title claims abstract description 297
- 238000000034 method Methods 0.000 title claims abstract description 103
- 230000002452 interceptive effect Effects 0.000 claims abstract description 62
- 230000004044 response Effects 0.000 claims abstract description 52
- 230000003993 interaction Effects 0.000 claims abstract description 44
- 230000001960 triggered effect Effects 0.000 claims abstract description 30
- 238000005070 sampling Methods 0.000 claims description 150
- 239000006260 foam Substances 0.000 claims description 134
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 35
- 230000009466 transformation Effects 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 25
- 238000009825 accumulation Methods 0.000 claims description 23
- 230000000630 rising effect Effects 0.000 claims description 22
- 230000001174 ascending effect Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 16
- 230000003321 amplification Effects 0.000 claims description 8
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 8
- 238000007781 pre-processing Methods 0.000 claims description 8
- 230000000903 blocking effect Effects 0.000 claims description 7
- 230000001788 irregular Effects 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 49
- 230000000875 corresponding effect Effects 0.000 description 87
- 238000004364 calculation method Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 14
- 230000001276 controlling effect Effects 0.000 description 11
- 235000013405 beer Nutrition 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000013016 damping Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000008719 thickening Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
- G06T5/94—Dynamic range modification of images or parts thereof based on local image properties, e.g. for local contrast enhancement
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开实施例提供一种液体渲染方法、装置、设备、计算机可读存储介质及产品,该方法包括:响应于用户触发的液体渲染请求,获取基于所述用户触发的交互操作生成的初始数据;根据所述初始数据计算用于渲染预设的待渲染内容的目标渲染数据,其中,所述待渲染内容包括待渲染液体以及所述待渲染液体响应所述交互操作产生的至少一种待渲染物体;根据所述目标渲染数据对所述待渲染内容进行渲染操作,获得渲染后的目标内容。能够基于用户的实时交互操作显示不同的渲染效果。此外,除了待渲染液体以外,还可以在显示界面上显示渲染后的至少一种待渲染物体,丰富了显示效果,提升了用户体验。
Description
技术领域
本公开实施例涉及图像处理技术领域,尤其涉及一种液体渲染方法、装置、设备、计算机可读存储介质及产品。
背景技术
在很多显示场景中,均涉及到对液体的渲染。现有的液体渲染方法一般都是对液体以及装有液体的容器进行分别渲染。例如,针对水体的部分进行水体的渲染,针对容器的部分进行玻璃的渲染。
但是,采用上述渲染方法无法与用户进行实时地交互,且显示效果较为单一。
发明内容
本公开实施例提供一种液体渲染方法、装置、设备、计算机可读存储介质及产品,用于解决现有的液体渲染方法显示效果较为单一且不支持实时交互的问题。
第一方面,本公开实施例提供一种液体渲染方法,包括:
响应于用户触发的液体渲染请求,获取基于所述用户触发的交互操作生成的初始数据;
根据所述初始数据计算用于渲染预设的待渲染内容的目标渲染数据,其中,所述待渲染内容包括待渲染液体以及所述待渲染液体响应所述交互操作产生的至少一种待渲染物体;
根据所述目标渲染数据对所述待渲染内容进行渲染操作,获得渲染后的目标内容。
第二方面,本公开实施例提供一种液体渲染装置,包括:
获取模块,用于响应于用户触发的液体渲染请求,获取基于所述用户触发的交互操作生成的初始数据;
计算模块,用于根据所述初始数据计算用于渲染预设的待渲染内容的目标渲染数据,其中,所述待渲染内容包括待渲染液体以及所述待渲染液体响应所述交互操作产生的至少一种待渲染物体;
渲染模块,用于根据所述目标渲染数据对所述待渲染内容进行渲染操作,获得渲染后的目标内容。
第三方面,本公开实施例提供一种电子设备,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的液体渲染方法。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的液体渲染方法。
第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的液体渲染方法。
本实施例提供的液体渲染方法、装置、设备、计算机可读存储介质及产品,通过获取用户基于交互操作生成的初始数据,根据该初始数据生成用于渲染待渲染液体以及待渲染液体响应交互操作产生的至少一种待渲染物体的目标渲染数据,从而能够基于该目标渲染数据实现对待渲染液体以及至少一种待渲染物体的渲染操作。能够基于用户的实时交互操作显示不同的渲染效果。此外,除了待渲染液体以外,还可以在显示界面上显示渲染后的至少一种待渲染物体,丰富了显示效果,提升了用户体验。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的液体渲染方法的流程示意图;
图2为本公开又一实施例提供的液体渲染方法的流程示意图;
图3为本公开实施例提供的拉力示意图;
图4为本公开又一实施例提供的液体渲染方法的流程示意图;
图5为本公开实施例提供的目标掩膜示意图;
图6为本公开又一实施例提供的液体渲染方法的流程示意图;
图7为本公开实施例提供的纹理采样坐标划分示意图;
图8为本公开实施例提供的第一待处理气泡示意图;
图9为本公开实施例提供的第三待处理气泡示意图;
图10为本公开实施例提供的目标气泡示意图;
图11为本公开实施例提供的液体渲染装置的结构示意图;
图12为本公开实施例提供的电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
针对上述提及的现有的液体渲染方法显示效果较为单一且不支持实时交互的问题,本公开提供了一种液体渲染方法、装置、设备、计算机可读存储介质及产品。
需要说明的是,本公开提供液体渲染方法、装置、设备、计算机可读存储介质及产品可运用在对各种液体进行渲染的场景中。
现有的液体渲染方法一般都是按照预设的数值对液体进行渲染,并显示渲染效果。无法根据用户触发的交互操作进行液体的渲染。此外,采用上述方法进行液体渲染时,往往仅显示渲染后的液体,显示效果较为单一。
在解决上述技术问题的过程中,发明人通过研究发现,获取用户基于交互操作生成的初始数据,根据该初始数据生成用于渲染待渲染内容的目标渲染数据。从而用户在进行人机交互的过程中,液体能够呈现与该人机交互相匹配的显示效果,提升了用户体验。
此外,由于部分液体在晃动过程中,会相应的产生气泡以及泡沫等效果。例如,实际应用中在晃动啤酒时,会产生啤酒气泡,气泡最终形成一层啤酒泡沫。因此,为了进一步地优化液体渲染的效果,增加液体渲染的真实度,还可以增加待渲染内容。其中,该待渲染内容除了待渲染液体以外,还可以包括待渲染泡沫以及待渲染气泡等。可以基于根据人机交互产生的初始数据生成的目标渲染数据,对上述多种待渲染内容进行渲染操作。
图1为本公开实施例提供的液体渲染方法的流程示意图,如图1所示,该方法包括:
步骤101、响应于用户触发的液体渲染请求,获取基于所述用户触发的交互操作生成的初始数据。
本实施例的执行主体为液体渲染装置,该液体渲染装置可耦合于终端设备中。从而能够响应于用户触发的交互操作进行待渲染内容的渲染操作。可选地,该液体渲染装置也可以耦合于服务器中,该服务器能够与终端设备通信连接,从而能够获取终端设备采集的交互操作进行待渲染内容的渲染操作。
在本实施方式中,显示界面上可以显示有待渲染液体。用户可以根据实际需求与该待渲染液体进行交互操作。举例来说,用户可以通过晃动终端设备,以使待渲染液体呈现随着终端设备的晃动随之晃动的显示效果。或者,用户可以根据实际需求对该待渲染液体进行触发,以使待渲染液体呈现响应于该触发操作出现水波纹的显示效果。
相应地,为了使得待渲染液体呈现上述显示效果,用户可以触发液体渲染请求,以使液体渲染装置能够基于该液体渲染请求对待渲染液体进行渲染操作。其中,该液体渲染请求可以为响应于用户对待渲染液体的交互操作自动生成的,也可以为用户对预设的渲染控件进行触发后生成的,本公开对此不做限制。
为了使得待渲染液体能够呈现与交互操作相匹配的显示效果,在获取到该液体渲染请求之后,可以根据该液体渲染请求获取基于用户触发的交互操作生成的初始数据。
该初始数据可以为终端设备上预设的传感器采集的终端设备的运动数据。或者,该初始数据也可以为终端设备上预设的传感器采集的用户触发屏幕的触发数据。本公开对此不做限制。
步骤102、根据所述初始数据计算用于渲染预设的待渲染内容的目标渲染数据,其中,所述待渲染内容包括待渲染液体以及所述待渲染液体响应所述交互操作产生的至少一种待渲染物体。
实际应用中,当液体出现晃动时,可能会产生气泡、泡沫等物体。例如,在晃动啤酒时,会产生啤酒气泡,气泡最终形成一层啤酒泡沫。
因此,为了使得待渲染液体的显示效果更加具备真实性,在待渲染液体随着用户的交互操作进行晃动或者产生水波纹时,相应地可能会产生至少一种待渲染物体。其中,该待渲染物体可以包括待渲染气泡、待渲染泡沫中的至少一项。
相应地,为了实现对待渲染液体的渲染操作,在获取到初始数据之后,可以基于该初始数据计算用于渲染预设的待渲染内容的目标渲染数据。
步骤103、根据所述目标渲染数据对所述待渲染内容进行渲染操作,获得渲染后的目标内容。
在本实施方式中,在计算获得目标渲染数据之后,即可以根据该目标渲染数据对待渲染内容进行渲染操作,获得渲染后的目标内容。从而该目标内容能够呈现基于用户的交互操作进行液体的晃动、产生气泡以及生成一层泡沫的显示效果。或者,该目标内容能够呈现基于用户的交互操作产生水波纹,基于该水波纹生成气泡、泡沫等显示效果。丰富了液体渲染操作中的显示内容,优化了待渲染液体的显示效果。
可选地,上述目标渲染数据的计算操作,可以由预设的中央处理器(CentralProcessing Unit,简称CPU)实现。而基于目标渲染数据对待渲染内容的渲染操作,即可以由预设的图形处理器(Graphics Processing Unit,简称GPU)实现。
可选地,在上述任一实施例的基础上,步骤101包括:
响应于所述用户通过对终端设备的移动操作触发的液体渲染请求,通过所述终端设备中预设的传感器采集所述终端设备在移动过程中的运动数据。
将所述运动数据确定为所述初始数据,其中,所述运动数据中包括空间位姿变换信息以及运动速度信息。
在本实施例中,用户可以通过对终端设备的移动操作触发液体渲染请求。响应于该液体渲染请求,可以通过终端设备中预设的传感器采集所述终端设备在移动过程中的运动数据。其中,该传感器包括但不限于陀螺仪、速度传感器、加速度传感器等,本公开对此不做限制。
在获取到运动数据之后,可以将该运动数据确定为初始数据,其中,所述运动数据中包括空间位姿变换信息以及运动速度信息。
可选地,用户可以通过对终端设备的显示界面进行按压、滑动等操作触发液体渲染请求。响应于该液体渲染请求,可以通过终端设备中预设的传感器采集所述终端设备在移动过程中的运动数据。其中,该传感器包括但不限于压力传感器等,本公开对此不做限制。相应地,该运动数据包括但不限于触发位置、触发力度等信息。可以将该运动数据确定为初始数据。
本实施例提供的液体渲染方法,通过获取用户基于交互操作生成的初始数据,根据该初始数据生成用于渲染待渲染液体以及待渲染液体响应交互操作产生的至少一种待渲染物体的目标渲染数据,从而能够基于该目标渲染数据实现对待渲染液体以及至少一种待渲染物体的渲染操作。能够基于用户的实时交互操作显示不同的渲染效果。此外,除了待渲染液体以外,还可以在显示界面上显示渲染后的至少一种待渲染物体,丰富了显示效果,提升了用户体验。
图2为本公开又一实施例提供的液体渲染方法的流程示意图,在上述任一实施例的基础上,如图2所示,步骤102包括:
步骤201、对所述初始数据进行预处理操作,获得所述交互操作过程中每一时间帧对应的待计算数据。
步骤202、计算相邻两帧待计算数据之间的目标差值,获得所述交互操作对应的多个目标差值。
步骤203、计算所述多个目标差值对应的目标累加和。
步骤204、根据所述目标累加和计算用于渲染预设的待渲染内容的目标渲染数据。
在本实施例中,在获取到初始数据之后,可以对该初始数据进行预处理操作,以提取初始数据中用于计算目标渲染数据的每一时间帧对应的待计算数据。
实际应用中,运动越剧烈,相应地液体晃动越明显,产生的气泡越多,累积的气泡层越厚。因此,在得到待计算数据之后,可以计算相邻两帧待计算数据之间的目标差值,获得交互操作对应的多个目标差值。计算多个目标差值对应的目标累加和,因此,该目标累加和能够准确地表征运动的剧烈程度。
在得到目标累加和之后,也即确定交互操作产生的运动的剧烈程度之后,即可以根据该目标累积和实现对用于渲染预设的待渲染内容的目标渲染数据的计算。从而能够使得目标渲染数据与运动的剧烈程度相匹配,进而能够使得最终的渲染效果能够与用户的交互操作相贴合,提高了用户体验。
进一步地,在上述任一实施例的基础上,步骤204包括:
根据预设的累加和与所述待渲染内容的运动数据之间的对应关系,确定所述目标累加和对应的目标运动数据。
根据所述目标运动数据以及用户预设的控制数据计算用于渲染预设的待渲染内容的目标渲染数据。
在本实施例中,待渲染液体的类别可能有所不同。例如,待渲染液体可以为水、啤酒、饮料、咖啡等。而不同的液体在晃动过程中,液体的晃动程度、产生气泡的速度、累积泡沫的厚度都有所不同。因此,为了能够使得最终的渲染效果与待渲染内容的类别相匹配,针对不同的待渲染内容类型,可以建立该待渲染内容类型下,累加和与运动数据之间的对应关系。
因此,在计算获得目标累加和之后,首先可以确定该待渲染内容类型关联的累加和与待渲染内容的运动数据之间的对应关系。根据该累加和与待渲染内容的运动数据之间的对应关系,确定目标累加和对应的目标运动数据。其中,该目标运动数据可以包括气泡和/或泡沫的生成速度、液体的晃动速度等。
此外,气泡、泡沫等内容在生成之后,会随着时间逐渐消失。因此,用户可以根据实际需求设置气泡、泡沫的消失速度,作为控制数据。
从而在确定目标累加和对应的目标运动数据之后,即可以根据目标运动数据以及用户预设的控制数据计算用于渲染预设的待渲染内容的目标渲染数据。从而能够准确地模拟液体晃动过程中,液体晃动逐渐剧烈又回归于平静,气泡产生并消失,泡沫层逐渐产生并消散的显示效果。
本实施例提供的液体渲染方法,通过确定述交互操作过程中每一时间帧对应的待计算数据,并根据多个相邻两帧待计算数据之间的目标差值的目标累加和确定待渲染内容的目标渲染数据,从而能够准确地基于用户的交互操作控制待渲染内容显示与交互操作相匹配的渲染效果,提高了渲染效果与用户的交互操作之间的匹配度。此外,通过建立累加和与所述待渲染内容的运动数据之间的对应关系,从而能够针对不同的待渲染内容准确地确定目标运动数据,提高上述液体渲染方法的适用度。
可选地,在上述任一实施例的基础上,所述待渲染内容包括待渲染液体和/或所述待渲染液体响应所述交互操作产生的待渲染泡沫。所述初始数据包括运动速度信息。
步骤201包括:
针对所述待渲染液体中任一与液体表面垂直的运动点,根据所述运动点到所述待渲染液体中预设目标点之间的位置向量以及所述运动点的速度向量,计算每一时间帧所述运动点对所述预设目标点的拉力信息,将所述拉力信息确定为所述待计算数据。
在本实施例中,该待渲染内容包括待渲染液体和/或待渲染液体响应交互操作产生的待渲染泡沫。相应地,该初始数据中可以包括运动速度信息,其中,该运动速度信息包括速度信息、加速度信息。
在待渲染液体中可以包括多个与液体表面垂直的运动点,各运动点均可对待渲染液体的质心产生一个拉力。当待渲染液体随着用户的交互操作进行晃动时,运动点相对于液体表面的位置发生变化,相应地运动点对质心的拉力发生变化,因此,该拉力则可以近乎估计运动的剧烈程度。因此,为了使得渲染得到的目标内容能够更加贴合用户的实际交互操作,可以对运动点对质心的拉力进行计算。
因此,针对待渲染液体中任一与液体表面垂直的运动点,根据到待渲染液体中预设目标点之间的位置向量以及动点的速度向量,计算每一时间帧所述运动点对所述预设目标点的拉力信息,将所述拉力信息确定为所述待计算数据。其中,该预设目标点具体可以为待渲染液体的质点。
具体可以根据公式1实现对该拉力信息的计算:
其中,x为运动点到预设目标点的位置向量,v为运动点的速度向量。
图3为本公开实施例提供的拉力示意图,如图3所示,待渲染液体中包括任一与液体表面31垂直的运动点32以及预设目标点33,其中,该预设目标点33可以为待渲染液体的质心。运动点32能够对预设目标点33造成阻尼拉力35。
其中,x为运动点到预设目标点的位置向量,v为运动点的速度向量,k/m和c/m为两个自由调节的参数。
根据公式2能够得到标准的带阻尼二阶运动微分方程,如公式3所示:
可选地,还可以通过调节参数k/m和c/m即能够实现欠阻尼、过阻尼、临界阻尼的状态,以使得待渲染液体在晃动过程中呈现不同的震荡效果,呈现出待渲染液体的流动性,增加待渲染液体的真实性。
本实施例提供的液体渲染方法,通过将运动点对预设目标点的拉力信息作为待计算数据,从而能够准确地确定用户的交互操作对待渲染内容造成的影响。进而基于该待计算数据计算获得的目标渲染数据能够提高渲染效果与用户的交互操作之间的匹配度。
可选地,在上述任一实施例的基础上,所述待渲染内容包括所述待渲染液体响应所述交互操作产生的待渲染气泡。所述初始数据包括空间位姿变换信息。
步骤201包括:
在所述空间位姿变换信息中提取每一时间帧内预设方向上旋转欧拉角,将所述旋转欧拉角确定为所述待计算数据。
在本实施例中,待渲染内容可以包括待渲染液体响应所述交互操作产生的待渲染气泡。初始数据包括空间位姿变换信息。由于待渲染气泡相对于待渲染泡沫来说产生速度更快,因此需要更灵敏的输入响应。故可以选择对运动响应更快的陀螺仪欧拉角作为待计算数据。
具体地,可以在空间位姿变换信息中提取每一时间帧内预设方向上旋转欧拉角,将旋转欧拉角确定为待计算数据。其中,该预设方向上的旋转欧拉角具体可以为Z轴上的旋转欧拉角。
本实施例提供的液体渲染方法,由于待渲染气泡产生的速度通常快于待渲染泡沫,因此需要更灵敏的输入响应。通过采用旋转欧拉角作为待计算数据,从而能够快速地响应于用户的交互操作,实现目标渲染数据的生成。提高了液体渲染操作的效率。
可选地,在上述任一实施例的基础上,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染泡沫。所述目标运动数据包括泡沫生成速率。所述控制数据包括泡沫消散速率。
所述根据所述目标运动数据以及用户预设的控制数据计算用于渲染预设的待渲染内容的目标渲染数据,包括:
根据所述泡沫生成速率以及所述泡沫消散速率构建泡沫存量池,所述泡沫存量池中包括每一时间帧泡沫层的厚度。
在本实施例中,待渲染内容包括待渲染液体响应交互操作产生的待渲染泡沫。目标运动数据包括泡沫生成速率。控制数据包括泡沫消散速率。其中,泡沫生成速率可以与用户交互操作对待渲染内容造成的晃动剧烈程度呈正相关,也即晃动越剧烈,泡沫生成速率越快。该泡沫消散速率可以为用户根据实际需求进行设置的。
此外,用户可以预先设置待渲染液体的高度为y,将高度属于(y-h,y)的片元定义为泡沫区域。而由于待渲染液体会随用户的交互操作产生晃动,相应地泡沫区域不是静态的渲染效果,所以h不能设置为某一定值。
分析泡沫生成的物理现象不难发现,液体晃动越剧烈,泡沫生成得越快,晃动时间越长,泡沫厚度越厚。但通常不会无限累加,液体静止一段时间后,泡沫消失。基于上述分析,可以设置一泡沫存量池。该泡沫存量池需要一个输入I,一个输出O和一个储存空间S。对于待渲染泡沫来说,储存空间S大小是固定的,输入I每帧累加,填充储存空间S,填满为止。输出O每帧从池中减去一定数值。这样就可以完成池的设置。为了使池更好的描述待渲染泡沫的生成规律,可以将目标运动数据,也即泡沫生成速率作为该输入I。将用户预设的泡沫消散速率确定为O。
因此,基于上述泡沫存量池,当用户的交互操作较为剧烈,泡沫生成速率大于泡沫消散速率时,泡沫存量池中的泡沫逐渐增加。相应地能够呈现泡沫层逐渐变厚的效果。而当用户的交互操作幅度较为缓慢,或者用户停止交互操作时,泡沫生成速率小于泡沫消散速率时,泡沫存量池中的泡沫逐渐减少,呈现泡沫层逐渐变薄,直至泡沫全部消散的效果。
本实施例提供的液体渲染方法,通过根据泡沫生成速率以及泡沫消散速率构建泡沫存量池,从而能够使得待渲染泡沫的渲染操作更加贴合实际应用中的效果,提高了液体渲染的真实性以及显示效果,进而能够提高用户体验。
可选地,在上述任一实施例的基础上,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染气泡。所述目标运动数据包括气泡速度增量。所述控制数据包括气泡速度减量。
所述根据所述目标运动数据以及用户预设的控制数据计算用于渲染预设的待渲染内容的目标渲染数据,包括:
根据所述气泡速度增量以及所述气泡速度减量构建气泡速率池,其中,所述气泡速率池中包括每一时间帧气泡的上升速度。
在本实施例中,待渲染内容包括待渲染液体响应交互操作产生的待渲染气泡。目标运动数据包括气泡速度增量。该气泡速度增量可以与待渲染液体的晃动剧烈程度呈正比,也即晃动越剧烈,气泡速度增量越大。控制数据包括气泡速度减量。该气泡速度减量可以为用户根据实际需求设置的。可以基于气泡速度增量以及气泡速度减量构建气泡速率池,其中,气泡速率池中包括每一时间帧气泡的上升速度。
当气泡速度增量大于气泡速度减量时,待渲染泡沫上升速度变快。而当气泡速度增量小于气泡速度减量时,泡沫上升速度变慢。以使得待渲染液体中的待渲染气泡能够与实际的液体中的气泡运动状态保持一致。
本实施例提供的液体渲染方法,通过根据气泡速度增量以及气泡速度减量构建气泡速率池,从而后续能够提高液体渲染的真实性,提高液体渲染操作的显示效果。
可选地,在上述任一实施例的基础上,所述待渲染内容包括待渲染液体。
所述根据所述目标累加和计算用于渲染预设的待渲染内容的目标渲染数据,包括:
根据预设的累加和与所述待渲染液体的浑浊度之间的对应关系,确定所述目标累加和对应的目标浑浊度,将所述目标浑浊度确定为所述目标渲染数据。
在本实施例中,分析液体晃动的物理现象可以发现,随着气泡的生成,液体逐渐变得浑浊。因此,为了实现对待渲染液体的精准渲染,还可以根据该目标累加和以及预设的累加和与待渲染液体的浑浊度之间的对应关系,确定目标累加和对应的目标浑浊度,将目标浑浊度确定为目标渲染数据。从而基于该目标渲染数据进行渲染之后,当基于用户的交互操作,待渲染液体晃动越剧烈,则相应的待渲染液体越浑浊。
本实施例提供的液体渲染方法,通过确定待渲染液体对应的目标浑浊度,将目标浑浊度确定为目标渲染数据,从而能够准确地模拟实际应用中,液体晃动造成的浑浊现象。进而能够提高待渲染内容的渲染操作的真实性。
进一步地,在上述任一实施例的基础上,所述待渲染内容包括待渲染液体。步骤103包括:
根据所述目标渲染数据对所述待渲染液体中预设的浅水区与预设的深水区进行颜色混合渲染操作。
在本实施例中,可以根据待渲染液体中各位置离液面的距离定义浅水区和深水区,并为深水区以及浅水区设置不同的颜色。举例来说,可以定义浅水区为红色,深水区为蓝色。当待渲染液体静止时,呈现分层的效果,而响应于用户的交互操作,进行晃动时,可以进行颜色的混合。
相应地,可以根据目标渲染数据对待渲染液体中预设的浅水区与预设的深水区进行颜色混合渲染操作。
进一步地,在上述任一实施例的基础上,所述目标渲染数据还包括所述待渲染液体对应的目标浑浊度。
所述根据所述目标渲染数据对所述待渲染液体中预设的浅水区与预设的深水区进行颜色混合渲染操作之后,还包括:
根据所述目标浑浊度对所述待渲染液体对应的透明度进行调整,其中,所述目标浑浊度与所述透明度成反比。
在本实施例中,目标渲染数据还包括待渲染液体对应的目标浑浊度。可以根据该目标浑浊度,对待渲染液体对应的透明度进行调整,也即对Alpha的透明度进行调整。其中,目标浑浊度与透明度成反比,也即浑浊度越高,透明度越低。反之,浑浊度越低,透明度越高。
本实施例提供的液体渲染方法,通过为待渲染液体中预设的浅水区与预设的深水区设置不同的颜色,在渲染过程中,根据目标渲染数据对浅水区以及深水区的颜色进行混合,且根据目标渲染数据对待渲染液体的目标浑浊度进行调整,从而能够实现运动越剧烈浑浊度越高,液体颜色越一致,透明度越低,水体越平静,浑浊度越低,颜色分层越明显,透明度越高的显示效果。
图4为本公开又一实施例提供的液体渲染方法的流程示意图,在上述任一实施例的基础上,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染泡沫。所述目标渲染数据包括泡沫存量池。如图4所示,步骤103包括:
步骤401、针对每一时间帧,根据所述泡沫存量池确定当前时间帧对应的泡沫厚度。
步骤402、根据所述泡沫厚度生成与所述泡沫厚度相匹配的目标掩膜。
步骤403、根据所述目标掩膜以及预设的待渲染液体以及待渲染泡沫进行渲染操作,获得渲染后的目标内容。
在本实施例中,待渲染内容包括待渲染液体响应交互操作产生的待渲染泡沫。目标渲染数据包括泡沫存量池。基于该泡沫存量池,可以确定每一时间帧对应的泡沫厚度。基于该泡沫厚度,可以生成与泡沫厚度相匹配的目标掩膜。目标掩膜中包括泡沫区域以及液体区域,其中,泡沫区域以及液体区域的像素值不同。例如,泡沫区域的像素值可以为1,液体区域的像素值可以为0。当需要进行待渲染泡沫区域渲染时,可以将该目标掩膜与泡沫纹理图进行乘法操作。当需要进行待渲染液体区域的渲染时,可以通过(1-目标掩膜)与待渲染液体纹理图进行惩罚操作。得到渲染后的目标内容。
图5为本公开实施例提供的目标掩膜示意图,如图5所示,目标掩膜51中包括泡沫区域52以及液体区域53。其中,泡沫区域52的厚度为H。在目标掩膜51中,泡沫区域52与液体区域53的像素值不同。
可选地,为了进一步地提高渲染效果,由于泡沫的表面以及泡沫与液体之间的交集处往往不是标准的平面,因此,可以引入时序变化造成图,以实现泡沫边缘形状的变化。
本实施例提供的液体渲染方法,通过根据泡沫存量池确定当前时间帧对应的泡沫厚度,并根据泡沫厚度构建目标掩膜,从而能够准确地根据该目标掩膜进行待渲染泡沫的渲染操作。提高待渲染泡沫渲染的真实性。
图6为本公开又一实施例提供的液体渲染方法的流程示意图,在上述任一实施例的基础上,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染气泡,所述目标渲染数据包括气泡速率池。如图6所示,步骤103包括:
步骤601、对预设的纹理采样坐标进行分块操作,获得多个采样坐标区域。
步骤602、针对每一采样坐标区域,在所述采样坐标区域内绘制目标气泡。
步骤603、根据所述目标渲染数据控制所述目标气泡进行上升运动。
在本实施例中,可以在纹理采样坐标中实现对待渲染气泡的渲染。由于纹理采样坐标一般范围都是(0,1)之内,因此为了渲染出待渲染气泡的效果,首先可以对预设的纹理采样坐标进行分块操作,获得多个采样坐标区域。
在每一采样坐标区域内,可以绘制目标气泡,并根据该目标渲染数据,控制目标气泡进行上升运动。
进一步地,在上述任一实施例的基础上,如图6所示,步骤601包括:
将所述纹理采样坐标与预设的放大因子相乘,获得处理后的纹理采样坐标。
对所述处理后的纹理采样坐标取预设数值对应的余数,获得多个采样坐标区域。
在本实施例中,纹理采样坐标一般属于(0,1)区间,可以对纹理采样坐标与预设的放大因子相乘,获得处理后的纹理采样坐标。其中,该预设的放大因子可以由用户根据实际需求进行设置。或者,也可以基于目标渲染数据来确定。例如,若待渲染气泡产生速度较快,则可以相应的待渲染气泡的数量更多。
进一步地,可以对处理后的纹理采样坐标取预设数值对应的余数,获得多个采样坐标区域。其中,该预设数值可以为1,从而能够得到多个属于(0,1)区间的采样坐标区域。
图7为本公开实施例提供的纹理采样坐标划分示意图,如图7所示,纹理采样坐标71属于(0,1)区间,可以对纹理采样坐标与预设的放大因子相乘,获得处理后的纹理采样坐标72。例如,该预设的放大因子可以为4,处理后的纹理采样坐标72属于(0,4)区间。对处理后的纹理采样坐标72取预设数值对应的余数,获得多个采样坐标区域73。其中,预设数值可以为1。
本实施例提供的液体渲染方法,通过将纹理采样坐标划分为多个采样坐标区域,在该多个采样坐标区域中分别绘制目标气泡,并控制目标气孔根据该目标渲染数据进行上升运动,从而能够准确地基于用户的交互操作,控制待渲染液体中呈现待渲染气泡,丰富了液体渲染操作的显示效果。此外,能够使得待渲染气泡的运动过程与用户的交互操作相匹配,提升了液体渲染的真实性。
进一步地,在上述任一实施例的基础上,步骤602包括:
针对每一采样坐标区域,分别在所述采样坐标区域内绘制第一尺寸的第一待处理气泡以及第二尺寸的第二待处理气泡,其中,所述第一尺寸大于所述第二尺寸。
对所述第一待处理气泡与所述第二待处理气泡进行减法操作,得到第三待处理气泡。
针对每一采样坐标区域,按照预设的变换尺度对所述采样坐标区域进行坐标变换操作,获得尺寸变换后的采样坐标区域。
针对每一尺寸变换后的采样坐标区域,在所述尺寸变换后的采样坐标区域中绘制第三尺寸的第四待处理气泡,其中,所述第三尺寸小于所述第二尺寸。
对所述第三待处理气泡与所述第四待处理气泡进行叠加操作,获得所述目标气泡。
在本实施例中,实际应用中的气泡的显示效果一般都是中间存在空心区域且外侧存在高光区域。因此,为了提高目标气泡的真实性,首先可以在每一采样坐标区域内绘制第一尺寸的第一待处理气泡以及第二尺寸的第二待处理气泡。其中,第一尺寸大于第二尺寸。
图8为本公开实施例提供的第一待处理气泡示意图,如图8所示,在每一采样坐标区域81内,可以绘制有第一待处理气泡82。可选地,可以将该第一待处理气泡82与采样坐标区域对应的目标参数相乘,呈现大小不一的显示效果。
由于第一待处理气泡与第二待处理气泡的尺寸不同,因此,对第一待处理气泡与第二待处理气泡进行减法操作,得到第三待处理气泡。从而第三待处理气泡能够呈现中间存在空心区域的显示效果。
图9为本公开实施例提供的第三待处理气泡示意图,如图9所示,在通过对第一待处理气泡与第二待处理气泡进行减法操作,可以在每一采样坐标区域91内显示第三待处理气泡92,其中,该第三待处理气泡92中包括空心区域。
进一步地,由于气泡的高光区域一般都在气泡的侧面。因此,针对每一采样坐标区域,按照预设的变换尺度对采样坐标区域进行坐标变换操作,获得尺寸变换后的采样坐标区域。针对每一尺寸变换后的采样坐标区域,在尺寸变换后的采样坐标区域中绘制第三尺寸的第四待处理气泡,其中,第三尺寸小于第二尺寸。对第三待处理气泡与第四待处理气泡进行叠加操作,也即将高光区域叠加在第三待处理气泡上,获得目标气泡。能够得到包括空心区域以及高光区域的目标区域。
图10为本公开实施例提供的目标气泡示意图,如图10所示,可以在每一采样坐标区域1001内显示目标气泡1002,其中,该目标气泡1002中包括空心区域以及高光区域。
本实施例提供的液体渲染方法,通过分别绘制不同尺寸的第一待处理气泡以及第二待处理气泡,从而能够得到中间存在空心区域的第三待处理气泡。进一步地,通过按照预设的变换尺度对采样坐标区域进行坐标变换操作,基于尺寸变换后的采样坐标区域进行第四待处理气泡的绘制,从而能够在第三待处理气泡上添加高光区域,得到包括空心区域与高光区域的目标气泡,从而能够提高目标气泡的真实性,提高了待渲染内容的显示效果。
进一步地,在上述任一实施例的基础上,步骤602之后,还包括:
针对所述每一采样坐标区域,根据所述采样坐标区域对应的坐标值计算所述采样坐标区域对应的目标参数。
对每一所述采样坐标区域中的目标气泡与所述目标参数进行乘法操作,以使每一所述采样坐标区域中的目标气泡尺寸不同。
在本实施例中,由于实际应用中,液体晃动产生的气泡大小不同。因此,为了提高渲染得到的目标气泡更加真实,针对每一采样坐标区域,根据采样坐标区域对应的坐标值计算采样坐标区域对应的目标参数。例如,若该采样坐标区域对应的坐标值为(1,1),则可以通过1*1得到目标参数为1。若该采样坐标区域对应的坐标值为(2,2)则可以通过2*2得到目标参数为4。由于每一采样坐标区域对应的坐标值不同,则每一采样坐标区域对应的目标参数也有所不同。
将每一采样坐标区域中的目标气泡与目标参数进行乘法操作,从而能够使得每一采样坐标区域中的目标气泡尺寸不同。
可选地,通过目标参数对气泡进行处理的操作,可以在绘制得到第一待处理气泡、第二待处理气泡之后进行,也可以在得到目标气泡之后进行,本公开对此不做限制。
本实施例提供的液体渲染方法,通过确定每一采样坐标区域对应的目标参数,并对每一采样坐标区域中的目标气泡与目标参数进行乘法操作,从而能够使得每一采样坐标区域中的目标气泡尺寸不同,进一步地提高了目标气泡的显示效果,提高了目标气泡的真实性。
进一步地,在上述任一实施例的基础上,步骤602之后,还包括:
针对所述每一采样坐标区域,提取柏林噪声图。
根据所述柏林噪声图对所述采样坐标区域内绘制目标气泡进行数据处理,得到尺寸不规则的目标气泡。
在本实施例中,由于实际应用中,液体晃动产生的气泡并不规则。因此,为了能够进一步地提高目标气泡的真实性,针对每一采样坐标区域,可以提取柏林噪声图。根据柏林噪声图对采样坐标区域内绘制目标气泡进行数据处理,得到尺寸不规则的目标气泡。
本实施例提供的液体渲染方法,通过基于每一采样坐标区域提取柏林噪声图,并根据提取柏林噪声图对采样坐标区域内绘制目标气泡进行数据处理,从而能够得到尺寸不规则的目标气泡,进一步地提高了目标气泡的显示效果,提高了目标气泡的真实性。
进一步地,在上述任一实施例的基础上,步骤603包括:
针对每一时间帧,根据所述气泡速率池确定所述时间帧对应的气泡的上升速度。
根据所述上升速度以及时间帧确定所述目标气泡纵向的偏移值。
根据所述纵向的偏移值控制所述目标气泡进行上升运动。
在本实施例中,可以将时间作为uv中v方向上的偏移值,以实现目标气泡上升的效果。具体地,针对每一时间帧,根据所述气泡速率池确定所述时间帧对应的气泡的上升速度。根据所述上升速度以及时间帧确定所述目标气泡纵向的偏移值。根据所述纵向的偏移值控制所述目标气泡进行上升运动。也即,可以将目标气泡原本的uv值(uv.u,uv.v)调整为(uv.u,uv.v+time*speed)。其中,time为时间帧,speed则为气泡的上升速度。
本实施例提供的液体渲染方法,通过根据气泡速率池确定时间帧对应的气泡的上升速度,并根据上升速度以及时间帧确定目标气泡纵向的偏移值。根据纵向的偏移值控制目标气泡进行上升运动,从而能够使得目标气泡实现上升的效果,丰富了待渲染液体的显示效果。
图11为本公开实施例提供的液体渲染装置的结构示意图,如图11所示,该装置包括:获取模块1101、计算模块1102以及渲染模块1103。其中,获取模块1101,用于响应于用户触发的液体渲染请求,获取基于所述用户触发的交互操作生成的初始数据。计算模块1102,用于根据所述初始数据计算用于渲染预设的待渲染内容的目标渲染数据,其中,所述待渲染内容包括待渲染液体以及所述待渲染液体响应所述交互操作产生的至少一种待渲染物体。渲染模块1103,用于根据所述目标渲染数据对所述待渲染内容进行渲染操作,获得渲染后的目标内容。
进一步地,在上述任一实施例的基础上,所述获取模块,用于:响应于所述用户通过对终端设备的移动操作触发的液体渲染请求,通过所述终端设备中预设的传感器采集所述终端设备在移动过程中的运动数据。将所述运动数据确定为所述初始数据,其中,所述运动数据中包括空间位姿变换信息以及运动速度信息。
进一步地,在上述任一实施例的基础上,所述计算模块,用于:对所述初始数据进行预处理操作,获得所述交互操作过程中每一时间帧对应的待计算数据。计算相邻两帧待计算数据之间的目标差值,获得所述交互操作对应的多个目标差值。计算所述多个目标差值对应的目标累加和。根据所述目标累加和计算用于渲染预设的待渲染内容的目标渲染数据。
进一步地,在上述任一实施例的基础上,所述计算模块,用于:根据预设的累加和与所述待渲染内容的运动数据之间的对应关系,确定所述目标累加和对应的目标运动数据。根据所述目标运动数据以及用户预设的控制数据计算用于渲染预设的待渲染内容的目标渲染数据。
进一步地,在上述任一实施例的基础上,所述待渲染内容包括待渲染液体和/或所述待渲染液体响应所述交互操作产生的待渲染泡沫。所述初始数据包括运动速度信息。所述计算模块,用于:针对所述待渲染液体中任一与液体表面垂直的运动点,根据所述运动点到所述待渲染液体中预设目标点之间的位置向量以及所述运动点的速度向量,计算每一时间帧所述运动点对所述预设目标点的拉力信息,将所述拉力信息确定为所述待计算数据。
进一步地,在上述任一实施例的基础上,所述待渲染内容包括所述待渲染液体响应所述交互操作产生的待渲染气泡。所述初始数据包括空间位姿变换信息。所述计算模块,用于:在所述空间位姿变换信息中提取每一时间帧内预设方向上旋转欧拉角,将所述旋转欧拉角确定为所述待计算数据。
进一步地,在上述任一实施例的基础上,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染泡沫。所述目标运动数据包括泡沫生成速率。所述控制数据包括泡沫消散速率。所述计算模块,用于:根据所述泡沫生成速率以及所述泡沫消散速率构建泡沫存量池,所述泡沫存量池中包括每一时间帧泡沫层的厚度。
进一步地,在上述任一实施例的基础上,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染气泡。所述目标运动数据包括气泡速度增量。所述控制数据包括气泡速度减量。所述计算模块,用于:根据所述气泡速度增量以及所述气泡速度减量构建气泡速率池,其中,所述气泡速率池中包括每一时间帧气泡的上升速度。
进一步地,在上述任一实施例的基础上,所述待渲染内容包括待渲染液体。所述计算模块,用于:根据预设的累加和与所述待渲染液体的浑浊度之间的对应关系,确定所述目标累加和对应的目标浑浊度,将所述目标浑浊度确定为所述目标渲染数据。
进一步地,在上述任一实施例的基础上,所述待渲染内容包括待渲染液体。所述渲染模块,用于:根据所述目标渲染数据对所述待渲染液体中预设的浅水区与预设的深水区进行颜色混合渲染操作。
进一步地,在上述任一实施例的基础上,所述目标渲染数据还包括所述待渲染液体对应的目标浑浊度。所述装置还包括:调整模块,用于根据所述目标浑浊度对所述待渲染液体对应的透明度进行调整,其中,所述目标浑浊度与所述透明度成反比。
进一步地,在上述任一实施例的基础上,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染泡沫。所述目标渲染数据包括泡沫存量池。所述渲染模块,用于:针对每一时间帧,根据所述泡沫存量池确定当前时间帧对应的泡沫厚度。根据所述泡沫厚度生成与所述泡沫厚度相匹配的目标掩膜。根据所述目标掩膜以及预设的待渲染液体以及待渲染泡沫进行渲染操作,获得渲染后的目标内容。
进一步地,在上述任一实施例的基础上,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染气泡,所述目标渲染数据包括气泡速率池。所述渲染模块,用于:对预设的纹理采样坐标进行分块操作,获得多个采样坐标区域。针对每一采样坐标区域,在所述采样坐标区域内绘制目标气泡。根据所述目标渲染数据控制所述目标气泡进行上升运动。
进一步地,在上述任一实施例的基础上,所述渲染模块,用于:将所述纹理采样坐标与预设的放大因子相乘,获得处理后的纹理采样坐标。对所述处理后的纹理采样坐标取预设数值对应的余数,获得多个采样坐标区域。
进一步地,在上述任一实施例的基础上,所述渲染模块,用于:针对每一采样坐标区域,分别在所述采样坐标区域内绘制第一尺寸的第一待处理气泡以及第二尺寸的第二待处理气泡,其中,所述第一尺寸大于所述第二尺寸。对所述第一待处理气泡与所述第二待处理气泡进行减法操作,得到第三待处理气泡。针对每一采样坐标区域,按照预设的变换尺度对所述采样坐标区域进行坐标变换操作,获得尺寸变换后的采样坐标区域。针对每一尺寸变换后的采样坐标区域,在所述尺寸变换后的采样坐标区域中绘制第三尺寸的第四待处理气泡,其中,所述第三尺寸小于所述第二尺寸。对所述第三待处理气泡与所述第四待处理气泡进行叠加操作,获得所述目标气泡。
进一步地,在上述任一实施例的基础上,所述渲染模块,还用于:针对所述每一采样坐标区域,根据所述采样坐标区域对应的坐标值计算所述采样坐标区域对应的目标参数。对每一所述采样坐标区域中的目标气泡与所述目标参数进行乘法操作,以使每一所述采样坐标区域中的目标气泡尺寸不同。
进一步地,在上述任一实施例的基础上,所述渲染模块,还用于:针对所述每一采样坐标区域,提取柏林噪声图。根据所述柏林噪声图对所述采样坐标区域内绘制目标气泡进行数据处理,得到尺寸不规则的目标气泡。
进一步地,在上述任一实施例的基础上,所述渲染模块,用于:针对每一时间帧,根据所述气泡速率池确定所述时间帧对应的气泡的上升速度。根据所述上升速度以及时间帧确定所述目标气泡纵向的偏移值。根据所述纵向的偏移值控制所述目标气泡进行上升运动。
本实施例提供的设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
为了实现上述实施例,本公开实施例还提供了一种电子设备,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如上述任一实施例所述的液体渲染方法。
图12为本公开实施例提供的电子设备的结构示意图,如图12所示,该电子设备1200可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑(Portable Android Device,简称PAD)、便携式多媒体播放器(Portable Media Player,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图12示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图12所示,电子设备1200可以包括处理装置(例如中央处理器、图形处理器等)1201,其可以根据存储在只读存储器(Read Only Memory,简称ROM)1202中的程序或者从存储装置1208加载到随机访问存储器(Random Access Memory,简称RAM)1203中的程序而执行各种适当的动作和处理。在RAM 1203中,还存储有电子设备1200操作所需的各种程序和数据。处理装置1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。
通常,以下装置可以连接至I/O接口1205:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1206;包括例如液晶显示器(Liquid CrystalDisplay,简称LCD)、扬声器、振动器等的输出装置1207;包括例如磁带、硬盘等的存储装置1208;以及通信装置1209。通信装置1209可以允许电子设备1200与其他设备进行无线或有线通信以交换数据。虽然图12示出了具有各种装置的电子设备1200,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1209从网络上被下载和安装,或者从存储装置1208被安装,或者从ROM1202被安装。在该计算机程序被处理装置1201执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上述任一实施例所述的液体渲染方法。
本公开实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一实施例所述的液体渲染方法。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network,简称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
第一方面,根据本公开的一个或多个实施例,提供了一种液体渲染方法,包括:
响应于用户触发的液体渲染请求,获取基于所述用户触发的交互操作生成的初始数据;
根据所述初始数据计算用于渲染预设的待渲染内容的目标渲染数据,其中,所述待渲染内容包括待渲染液体以及所述待渲染液体响应所述交互操作产生的至少一种待渲染物体;
根据所述目标渲染数据对所述待渲染内容进行渲染操作,获得渲染后的目标内容。
根据本公开的一个或多个实施例,所述响应于用户触发的液体渲染请求,获取基于所述用户触发的交互操作生成的初始数据,包括:
响应于所述用户通过对终端设备的移动操作触发的液体渲染请求,通过所述终端设备中预设的传感器采集所述终端设备在移动过程中的运动数据;
将所述运动数据确定为所述初始数据,其中,所述运动数据中包括空间位姿变换信息以及运动速度信息。
根据本公开的一个或多个实施例,所述根据所述初始数据计算用于渲染预设的待渲染内容的目标渲染数据,包括:
对所述初始数据进行预处理操作,获得所述交互操作过程中每一时间帧对应的待计算数据;
计算相邻两帧待计算数据之间的目标差值,获得所述交互操作对应的多个目标差值;
计算所述多个目标差值对应的目标累加和;
根据所述目标累加和计算用于渲染预设的待渲染内容的目标渲染数据。
根据本公开的一个或多个实施例,所述根据所述目标累加和计算用于渲染预设的待渲染内容的目标渲染数据,包括:
根据预设的累加和与所述待渲染内容的运动数据之间的对应关系,确定所述目标累加和对应的目标运动数据;
根据所述目标运动数据以及用户预设的控制数据计算用于渲染预设的待渲染内容的目标渲染数据。
根据本公开的一个或多个实施例,所述待渲染内容包括待渲染液体和/或所述待渲染液体响应所述交互操作产生的待渲染泡沫;所述初始数据包括运动速度信息;
所述对所述初始数据进行预处理操作,获得所述交互操作过程中每一时间帧对应的待计算数据,包括:
针对所述待渲染液体中任一与液体表面垂直的运动点,根据所述运动点到所述待渲染液体中预设目标点之间的位置向量以及所述运动点的速度向量,计算每一时间帧所述运动点对所述预设目标点的拉力信息,将所述拉力信息确定为所述待计算数据。
根据本公开的一个或多个实施例,所述待渲染内容包括所述待渲染液体响应所述交互操作产生的待渲染气泡;所述初始数据包括空间位姿变换信息;
所述对所述初始数据进行预处理操作,获得所述交互操作过程中每一时间帧对应的待计算数据,包括:
在所述空间位姿变换信息中提取每一时间帧内预设方向上旋转欧拉角,将所述旋转欧拉角确定为所述待计算数据。
根据本公开的一个或多个实施例,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染泡沫;所述目标运动数据包括泡沫生成速率;所述控制数据包括泡沫消散速率;
所述根据所述目标运动数据以及用户预设的控制数据计算用于渲染预设的待渲染内容的目标渲染数据,包括:
根据所述泡沫生成速率以及所述泡沫消散速率构建泡沫存量池,所述泡沫存量池中包括每一时间帧泡沫层的厚度。
根据本公开的一个或多个实施例,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染气泡;所述目标运动数据包括气泡速度增量;所述控制数据包括气泡速度减量;
所述根据所述目标运动数据以及用户预设的控制数据计算用于渲染预设的待渲染内容的目标渲染数据,包括:
根据所述气泡速度增量以及所述气泡速度减量构建气泡速率池,其中,所述气泡速率池中包括每一时间帧气泡的上升速度。
根据本公开的一个或多个实施例,所述待渲染内容包括待渲染液体;
所述根据所述目标累加和计算用于渲染预设的待渲染内容的目标渲染数据,包括:
根据预设的累加和与所述待渲染液体的浑浊度之间的对应关系,确定所述目标累加和对应的目标浑浊度,将所述目标浑浊度确定为所述目标渲染数据。
根据本公开的一个或多个实施例,所述待渲染内容包括待渲染液体;所述根据所述目标渲染数据对所述待渲染内容进行渲染操作,包括:
根据所述目标渲染数据对所述待渲染液体中预设的浅水区与预设的深水区进行颜色混合渲染操作。
根据本公开的一个或多个实施例,所述目标渲染数据还包括所述待渲染液体对应的目标浑浊度;
所述根据所述目标渲染数据对所述待渲染液体中预设的浅水区与预设的深水区进行颜色混合渲染操作之后,还包括:
根据所述目标浑浊度对所述待渲染液体对应的透明度进行调整,其中,所述目标浑浊度与所述透明度成反比。
根据本公开的一个或多个实施例,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染泡沫;所述目标渲染数据包括泡沫存量池;
所述根据所述目标渲染数据对所述待渲染内容进行渲染操作,包括:
针对每一时间帧,根据所述泡沫存量池确定当前时间帧对应的泡沫厚度;
根据所述泡沫厚度生成与所述泡沫厚度相匹配的目标掩膜;
根据所述目标掩膜以及预设的待渲染液体以及待渲染泡沫进行渲染操作,获得渲染后的目标内容。
根据本公开的一个或多个实施例,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染气泡,所述目标渲染数据包括气泡速率池;
所述根据所述目标渲染数据对所述待渲染内容进行渲染操作,包括:
对预设的纹理采样坐标进行分块操作,获得多个采样坐标区域;
针对每一采样坐标区域,在所述采样坐标区域内绘制目标气泡;
根据所述目标渲染数据控制所述目标气泡进行上升运动。
根据本公开的一个或多个实施例,所述对预设的纹理采样坐标进行分块操作,获得多个采样坐标区域,包括:
将所述纹理采样坐标与预设的放大因子相乘,获得处理后的纹理采样坐标;
对所述处理后的纹理采样坐标取预设数值对应的余数,获得多个采样坐标区域。
根据本公开的一个或多个实施例,所述在所述采样坐标区域内绘制目标气泡,包括:
针对每一采样坐标区域,分别在所述采样坐标区域内绘制第一尺寸的第一待处理气泡以及第二尺寸的第二待处理气泡,其中,所述第一尺寸大于所述第二尺寸;
对所述第一待处理气泡与所述第二待处理气泡进行减法操作,得到第三待处理气泡;
针对每一采样坐标区域,按照预设的变换尺度对所述采样坐标区域进行坐标变换操作,获得尺寸变换后的采样坐标区域;
针对每一尺寸变换后的采样坐标区域,在所述尺寸变换后的采样坐标区域中绘制第三尺寸的第四待处理气泡,其中,所述第三尺寸小于所述第二尺寸;
对所述第三待处理气泡与所述第四待处理气泡进行叠加操作,获得所述目标气泡。
根据本公开的一个或多个实施例,所述针对每一采样坐标区域,在所述采样坐标区域内绘制目标气泡之后,还包括:
针对所述每一采样坐标区域,根据所述采样坐标区域对应的坐标值计算所述采样坐标区域对应的目标参数;
对每一所述采样坐标区域中的目标气泡与所述目标参数进行乘法操作,以使每一所述采样坐标区域中的目标气泡尺寸不同。
根据本公开的一个或多个实施例,所述针对每一采样坐标区域,在所述采样坐标区域内绘制目标气泡之后,还包括:
针对所述每一采样坐标区域,提取柏林噪声图;
根据所述柏林噪声图对所述采样坐标区域内绘制目标气泡进行数据处理,得到尺寸不规则的目标气泡。
根据本公开的一个或多个实施例,所述根据所述目标渲染数据控制所述目标气泡进行上升运动,包括:
针对每一时间帧,根据所述气泡速率池确定所述时间帧对应的气泡的上升速度;
根据所述上升速度以及时间帧确定所述目标气泡纵向的偏移值;
根据所述纵向的偏移值控制所述目标气泡进行上升运动。
第二方面,根据本公开的一个或多个实施例,提供了一种液体渲染装置,包括:
获取模块,用于响应于用户触发的液体渲染请求,获取基于所述用户触发的交互操作生成的初始数据;
计算模块,用于根据所述初始数据计算用于渲染预设的待渲染内容的目标渲染数据,其中,所述待渲染内容包括待渲染液体以及所述待渲染液体响应所述交互操作产生的至少一种待渲染物体;
渲染模块,用于根据所述目标渲染数据对所述待渲染内容进行渲染操作,获得渲染后的目标内容。
根据本公开的一个或多个实施例,所述获取模块,用于:
响应于所述用户通过对终端设备的移动操作触发的液体渲染请求,通过所述终端设备中预设的传感器采集所述终端设备在移动过程中的运动数据;
将所述运动数据确定为所述初始数据,其中,所述运动数据中包括空间位姿变换信息以及运动速度信息。
根据本公开的一个或多个实施例,所述计算模块,用于:
对所述初始数据进行预处理操作,获得所述交互操作过程中每一时间帧对应的待计算数据;
计算相邻两帧待计算数据之间的目标差值,获得所述交互操作对应的多个目标差值;
计算所述多个目标差值对应的目标累加和;
根据所述目标累加和计算用于渲染预设的待渲染内容的目标渲染数据。
根据本公开的一个或多个实施例,所述计算模块,用于:
根据预设的累加和与所述待渲染内容的运动数据之间的对应关系,确定所述目标累加和对应的目标运动数据;
根据所述目标运动数据以及用户预设的控制数据计算用于渲染预设的待渲染内容的目标渲染数据。
根据本公开的一个或多个实施例,所述待渲染内容包括待渲染液体和/或所述待渲染液体响应所述交互操作产生的待渲染泡沫;所述初始数据包括运动速度信息;
所述计算模块,用于:
针对所述待渲染液体中任一与液体表面垂直的运动点,根据所述运动点到所述待渲染液体中预设目标点之间的位置向量以及所述运动点的速度向量,计算每一时间帧所述运动点对所述预设目标点的拉力信息,将所述拉力信息确定为所述待计算数据。
根据本公开的一个或多个实施例,所述待渲染内容包括所述待渲染液体响应所述交互操作产生的待渲染气泡;所述初始数据包括空间位姿变换信息;
所述计算模块,用于:
在所述空间位姿变换信息中提取每一时间帧内预设方向上旋转欧拉角,将所述旋转欧拉角确定为所述待计算数据。
根据本公开的一个或多个实施例,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染泡沫;所述目标运动数据包括泡沫生成速率;所述控制数据包括泡沫消散速率;
所述计算模块,用于:
根据所述泡沫生成速率以及所述泡沫消散速率构建泡沫存量池,所述泡沫存量池中包括每一时间帧泡沫层的厚度。
根据本公开的一个或多个实施例,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染气泡;所述目标运动数据包括气泡速度增量;所述控制数据包括气泡速度减量;
所述计算模块,用于:
根据所述气泡速度增量以及所述气泡速度减量构建气泡速率池,其中,所述气泡速率池中包括每一时间帧气泡的上升速度。
根据本公开的一个或多个实施例,所述待渲染内容包括待渲染液体;
所述计算模块,用于:
根据预设的累加和与所述待渲染液体的浑浊度之间的对应关系,确定所述目标累加和对应的目标浑浊度,将所述目标浑浊度确定为所述目标渲染数据。
根据本公开的一个或多个实施例,所述待渲染内容包括待渲染液体;所述渲染模块,用于:
根据所述目标渲染数据对所述待渲染液体中预设的浅水区与预设的深水区进行颜色混合渲染操作。
根据本公开的一个或多个实施例,所述目标渲染数据还包括所述待渲染液体对应的目标浑浊度;
所述装置还包括:
调整模块,用于根据所述目标浑浊度对所述待渲染液体对应的透明度进行调整,其中,所述目标浑浊度与所述透明度成反比。
根据本公开的一个或多个实施例,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染泡沫;所述目标渲染数据包括泡沫存量池;
所述渲染模块,用于:
针对每一时间帧,根据所述泡沫存量池确定当前时间帧对应的泡沫厚度;
根据所述泡沫厚度生成与所述泡沫厚度相匹配的目标掩膜;
根据所述目标掩膜以及预设的待渲染液体以及待渲染泡沫进行渲染操作,获得渲染后的目标内容。
根据本公开的一个或多个实施例,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染气泡,所述目标渲染数据包括气泡速率池;
所述渲染模块,用于:
对预设的纹理采样坐标进行分块操作,获得多个采样坐标区域;
针对每一采样坐标区域,在所述采样坐标区域内绘制目标气泡;
根据所述目标渲染数据控制所述目标气泡进行上升运动。
根据本公开的一个或多个实施例,所述渲染模块,用于:
将所述纹理采样坐标与预设的放大因子相乘,获得处理后的纹理采样坐标;
对所述处理后的纹理采样坐标取预设数值对应的余数,获得多个采样坐标区域。
根据本公开的一个或多个实施例,所述渲染模块,用于:
针对每一采样坐标区域,分别在所述采样坐标区域内绘制第一尺寸的第一待处理气泡以及第二尺寸的第二待处理气泡,其中,所述第一尺寸大于所述第二尺寸;
对所述第一待处理气泡与所述第二待处理气泡进行减法操作,得到第三待处理气泡;
针对每一采样坐标区域,按照预设的变换尺度对所述采样坐标区域进行坐标变换操作,获得尺寸变换后的采样坐标区域;
针对每一尺寸变换后的采样坐标区域,在所述尺寸变换后的采样坐标区域中绘制第三尺寸的第四待处理气泡,其中,所述第三尺寸小于所述第二尺寸;
对所述第三待处理气泡与所述第四待处理气泡进行叠加操作,获得所述目标气泡。
根据本公开的一个或多个实施例,所述渲染模块,还用于:
针对所述每一采样坐标区域,根据所述采样坐标区域对应的坐标值计算所述采样坐标区域对应的目标参数;
对每一所述采样坐标区域中的目标气泡与所述目标参数进行乘法操作,以使每一所述采样坐标区域中的目标气泡尺寸不同。
根据本公开的一个或多个实施例,所述渲染模块,还用于:
针对所述每一采样坐标区域,提取柏林噪声图;
根据所述柏林噪声图对所述采样坐标区域内绘制目标气泡进行数据处理,得到尺寸不规则的目标气泡。
根据本公开的一个或多个实施例,所述渲染模块,用于:
针对每一时间帧,根据所述气泡速率池确定所述时间帧对应的气泡的上升速度;
根据所述上升速度以及时间帧确定所述目标气泡纵向的偏移值;
根据所述纵向的偏移值控制所述目标气泡进行上升运动。
第三方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的液体渲染方法。
第四方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的液体渲染方法。
第五方面,根据本公开的一个或多个实施例,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的液体渲染方法
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (17)
1.一种液体渲染方法,其特征在于,包括:
响应于用户触发的液体渲染请求,获取基于所述用户触发的交互操作生成的初始数据;
根据所述初始数据计算用于渲染预设的待渲染内容的目标渲染数据,其中,所述待渲染内容包括待渲染液体以及所述待渲染液体响应所述交互操作产生的至少一种待渲染物体;
根据所述目标渲染数据对所述待渲染内容进行渲染操作,获得渲染后的目标内容。
2.根据权利要求1所述的方法,其特征在于,所述响应于用户触发的液体渲染请求,获取基于所述用户触发的交互操作生成的初始数据,包括:
响应于所述用户通过对终端设备的移动操作触发的液体渲染请求,通过所述终端设备中预设的传感器采集所述终端设备在移动过程中的运动数据;
将所述运动数据确定为所述初始数据,其中,所述运动数据中包括空间位姿变换信息以及运动速度信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述初始数据计算用于渲染预设的待渲染内容的目标渲染数据,包括:
对所述初始数据进行预处理操作,获得所述交互操作过程中每一时间帧对应的待计算数据;
计算相邻两帧待计算数据之间的目标差值,获得所述交互操作对应的多个目标差值;
计算所述多个目标差值对应的目标累加和;
根据所述目标累加和计算用于渲染预设的待渲染内容的目标渲染数据。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标累加和计算用于渲染预设的待渲染内容的目标渲染数据,包括:
根据预设的累加和与所述待渲染内容的运动数据之间的对应关系,确定所述目标累加和对应的目标运动数据;
根据所述目标运动数据以及用户预设的控制数据计算用于渲染预设的待渲染内容的目标渲染数据。
5.根据权利要求3所述的方法,其特征在于,所述待渲染内容包括待渲染液体;
所述根据所述目标累加和计算用于渲染预设的待渲染内容的目标渲染数据,包括:
根据预设的累加和与所述待渲染液体的浑浊度之间的对应关系,确定所述目标累加和对应的目标浑浊度,将所述目标浑浊度确定为所述目标渲染数据。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述待渲染内容包括待渲染液体;所述根据所述目标渲染数据对所述待渲染内容进行渲染操作,包括:
根据所述目标渲染数据对所述待渲染液体中预设的浅水区与预设的深水区进行颜色混合渲染操作。
7.根据权利要求6所述的方法,其特征在于,所述目标渲染数据还包括所述待渲染液体对应的目标浑浊度;
所述根据所述目标渲染数据对所述待渲染液体中预设的浅水区与预设的深水区进行颜色混合渲染操作之后,还包括:
根据所述目标浑浊度对所述待渲染液体对应的透明度进行调整,其中,所述目标浑浊度与所述透明度成反比。
8.根据权利要求1-5任一项所述的方法,其特征在于,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染泡沫;所述目标渲染数据包括泡沫存量池;
所述根据所述目标渲染数据对所述待渲染内容进行渲染操作,包括:
针对每一时间帧,根据所述泡沫存量池确定当前时间帧对应的泡沫厚度;
根据所述泡沫厚度生成与所述泡沫厚度相匹配的目标掩膜;
根据所述目标掩膜以及预设的待渲染液体以及待渲染泡沫进行渲染操作,获得渲染后的目标内容。
9.根据权利要求1-5任一项所述的方法,其特征在于,所述待渲染内容包括待渲染液体响应所述交互操作产生的待渲染气泡,所述目标渲染数据包括气泡速率池;
所述根据所述目标渲染数据对所述待渲染内容进行渲染操作,包括:
对预设的纹理采样坐标进行分块操作,获得多个采样坐标区域;
针对每一采样坐标区域,在所述采样坐标区域内绘制目标气泡;
根据所述目标渲染数据控制所述目标气泡进行上升运动。
10.根据权利要求9所述的方法,其特征在于,所述对预设的纹理采样坐标进行分块操作,获得多个采样坐标区域,包括:
将所述纹理采样坐标与预设的放大因子相乘,获得处理后的纹理采样坐标;
对所述处理后的纹理采样坐标取预设数值对应的余数,获得多个采样坐标区域。
11.根据权利要求9所述的方法,其特征在于,所述针对每一采样坐标区域,在所述采样坐标区域内绘制目标气泡之后,还包括:
针对所述每一采样坐标区域,根据所述采样坐标区域对应的坐标值计算所述采样坐标区域对应的目标参数;
对每一所述采样坐标区域中的目标气泡与所述目标参数进行乘法操作,以使每一所述采样坐标区域中的目标气泡尺寸不同。
12.根据权利要求9所述的方法,其特征在于,所述针对每一采样坐标区域,在所述采样坐标区域内绘制目标气泡之后,还包括:
针对所述每一采样坐标区域,提取柏林噪声图;
根据所述柏林噪声图对所述采样坐标区域内绘制目标气泡进行数据处理,得到尺寸不规则的目标气泡。
13.根据权利要求9所述的方法,其特征在于,所述根据所述目标渲染数据控制所述目标气泡进行上升运动,包括:
针对每一时间帧,根据所述气泡速率池确定所述时间帧对应的气泡的上升速度;
根据所述上升速度以及时间帧确定所述目标气泡纵向的偏移值;
根据所述纵向的偏移值控制所述目标气泡进行上升运动。
14.一种液体渲染装置,其特征在于,包括:
获取模块,用于响应于用户触发的液体渲染请求,获取基于所述用户触发的交互操作生成的初始数据;
计算模块,用于根据所述初始数据计算用于渲染预设的待渲染内容的目标渲染数据,其中,所述待渲染内容包括待渲染液体以及所述待渲染液体响应所述交互操作产生的至少一种待渲染物体;
渲染模块,用于根据所述目标渲染数据对所述待渲染内容进行渲染操作,获得渲染后的目标内容。
15.一种电子设备,其特征在于,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1至13任一项所述的液体渲染方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至13任一项所述的液体渲染方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至13任一项所述的液体渲染方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211215056.XA CN115578277A (zh) | 2022-09-30 | 2022-09-30 | 液体渲染方法、装置、设备、计算机可读存储介质及产品 |
PCT/CN2023/118886 WO2024067138A1 (zh) | 2022-09-30 | 2023-09-14 | 液体渲染方法、装置、设备、计算机可读存储介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211215056.XA CN115578277A (zh) | 2022-09-30 | 2022-09-30 | 液体渲染方法、装置、设备、计算机可读存储介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115578277A true CN115578277A (zh) | 2023-01-06 |
Family
ID=84582938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211215056.XA Pending CN115578277A (zh) | 2022-09-30 | 2022-09-30 | 液体渲染方法、装置、设备、计算机可读存储介质及产品 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115578277A (zh) |
WO (1) | WO2024067138A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024067138A1 (zh) * | 2022-09-30 | 2024-04-04 | 北京字跳网络技术有限公司 | 液体渲染方法、装置、设备、计算机可读存储介质及产品 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006004894A2 (en) * | 2004-06-29 | 2006-01-12 | Sensable Technologies, Inc. | Apparatus and methods for haptic rendering using data in a graphics pipeline |
CN107886562B (zh) * | 2017-12-05 | 2021-08-31 | 北京像素软件科技股份有限公司 | 水面渲染方法、装置及可读存储介质 |
CN111986303B (zh) * | 2020-09-09 | 2024-07-16 | 网易(杭州)网络有限公司 | 流体渲染方法、装置、存储介质及终端设备 |
CN112598769B (zh) * | 2020-12-18 | 2024-03-12 | 北京达佳互联信息技术有限公司 | 特效渲染方法、装置、电子设备、计算机可读存储介质 |
CN113034662B (zh) * | 2021-03-29 | 2023-03-31 | 网易(杭州)网络有限公司 | 虚拟场景渲染方法、装置、存储介质及电子设备 |
CN113617024B (zh) * | 2021-08-03 | 2024-05-28 | 网易(杭州)网络有限公司 | 水体面渲染方法、装置、设备及存储介质 |
CN115578277A (zh) * | 2022-09-30 | 2023-01-06 | 北京字跳网络技术有限公司 | 液体渲染方法、装置、设备、计算机可读存储介质及产品 |
-
2022
- 2022-09-30 CN CN202211215056.XA patent/CN115578277A/zh active Pending
-
2023
- 2023-09-14 WO PCT/CN2023/118886 patent/WO2024067138A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024067138A1 (zh) * | 2022-09-30 | 2024-04-04 | 北京字跳网络技术有限公司 | 液体渲染方法、装置、设备、计算机可读存储介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
WO2024067138A1 (zh) | 2024-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020248900A1 (zh) | 全景视频的处理方法、装置及存储介质 | |
US11516411B2 (en) | Image processing method and apparatus, electronic device and computer-readable storage medium | |
CN111127603B (zh) | 动画生成方法、装置、电子设备及计算机可读存储介质 | |
US20230401764A1 (en) | Image processing method and apparatus, electronic device and computer readable medium | |
WO2023151524A1 (zh) | 图像显示方法、装置、电子设备及存储介质 | |
CN110070495B (zh) | 图像的处理方法、装置和电子设备 | |
CN116310036A (zh) | 场景渲染方法、装置、设备、计算机可读存储介质及产品 | |
CN115578277A (zh) | 液体渲染方法、装置、设备、计算机可读存储介质及产品 | |
CN111368668A (zh) | 三维手部识别方法、装置、电子设备及存储介质 | |
CN114445269A (zh) | 一种图像特效处理方法、装置、设备及介质 | |
CN114219884A (zh) | 粒子特效渲染方法、装置、设备及存储介质 | |
CN114742934A (zh) | 图像渲染方法、装置、可读介质及电子设备 | |
CN114331823A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
WO2023174087A1 (zh) | 特效视频生成方法、装置、设备及存储介质 | |
CN111862342A (zh) | 增强现实的纹理处理方法、装置、电子设备及存储介质 | |
CN114067030A (zh) | 动态流体效果处理方法、装置、电子设备和可读介质 | |
CN114116081A (zh) | 交互式动态流体效果处理方法、装置及电子设备 | |
CN114470786B (zh) | 帧同步数据处理方法、装置、可读介质和电子设备 | |
JP2006243458A (ja) | 三次元地図表示装置および三次元地図表示プログラム | |
CN113223012B (zh) | 视频处理方法、设备及电子设备 | |
CN114419298A (zh) | 虚拟物体的生成方法、装置、设备及存储介质 | |
CN114419299A (zh) | 虚拟物体的生成方法、装置、设备及存储介质 | |
CN112114656B (zh) | 基于气流的图像处理方法、装置、设备及存储介质 | |
CN111354070B (zh) | 一种立体图形生成方法、装置、电子设备及存储介质 | |
CN117671190A (zh) | 模型更新方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |