CN113313802B - 图像渲染方法、装置、设备及存储介质 - Google Patents

图像渲染方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113313802B
CN113313802B CN202110571617.9A CN202110571617A CN113313802B CN 113313802 B CN113313802 B CN 113313802B CN 202110571617 A CN202110571617 A CN 202110571617A CN 113313802 B CN113313802 B CN 113313802B
Authority
CN
China
Prior art keywords
data
rendering
frame buffer
hair
contour
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.)
Active
Application number
CN202110571617.9A
Other languages
English (en)
Other versions
CN113313802A (zh
Inventor
乔磊
冯星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Perfect World Beijing Software Technology Development Co Ltd
Original Assignee
Perfect World Beijing Software Technology Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Perfect World Beijing Software Technology Development Co Ltd filed Critical Perfect World Beijing Software Technology Development Co Ltd
Priority to CN202110571617.9A priority Critical patent/CN113313802B/zh
Publication of CN113313802A publication Critical patent/CN113313802A/zh
Priority to PCT/CN2021/132516 priority patent/WO2022247179A1/zh
Application granted granted Critical
Publication of CN113313802B publication Critical patent/CN113313802B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本申请实施例提供一种图像渲染方法、装置、设备及存储介质。其中,CPU的渲染管线至少包括第一帧缓冲器以及第二帧缓冲器。GPU根据CPU的渲染指令进行多轮次毛发绘制操作时,可在每个绘制轮次中,标记毛发的轮廓数据,将毛发的自身混合结果存放于第一帧缓冲器,并将轮廓混合数据存放与第二帧缓冲器中。基于这种实施方式,一方面,可在每轮绘制完成后同时得到毛发混合结果以及具有较高的边缘精度的轮廓混合结果,降低了多层渲染所需的时间成本,提升像素填充率;另一方面,在绘制毛发的过程中标记高边缘精度的轮廓数据,不依赖于预先提供的背景图像,存在背景混合需求时,可将轮廓混合数据与动态提供的背景图像进行精确融合,实现高性能的实时渲染。

Description

图像渲染方法、装置、设备及存储介质
技术领域
本申请涉及在图像处理技术领域,尤其涉及一种图像渲染方法、装置、设备及存储介质。
背景技术
随着图像处理技术的发展,对游戏画面质量的要求也在不断提高。在一些游戏开发场景中,需要对物体表面的毛发进行渲染。
现有的毛发渲染方法具有高的时间成本,进而导致渲染过程中的像素填充率较低。因此,有待提出一种新的解决方案。
发明内容
本申请的多个方面提供一种图像渲染方法、装置、设备及存储介质,用以降低毛发渲染所需的计算资源,提升毛发渲染效率以及像素填充率。
本申请实施例提供一种图像渲染装置,所述图像渲染装置的渲染管线包括:第一帧缓冲器、第二帧缓冲器、第一像素着色器以及第二像素着色器;其中,第一像素着色器,用于:在待渲染对象的外壳上进行多轮次的毛发绘制操作时,计算任一绘制轮次对应的毛发的自身混合数据,并将计算得到的自身混合数据写入所述第一帧缓冲器;所述第二像素着色器,用于:获取所述绘制轮次对应的毛发的轮廓混合数据,并将所述轮廓混合数据写入所述第二帧缓冲器。
本申请实施例还提供一种图像渲染方法,图形处理器的渲染管线至少包括第一帧缓冲器以及第二帧缓冲器;所述方法包括:响应中央处理器的渲染指令,在待渲染对象的外壳上进行多轮次的毛发绘制操作;在任一绘制轮次中,计算当前绘制轮次对应的毛发的自身混合数据,并将计算得到的自身混合数据写入所述第一帧缓冲器;以及,获取当前绘制轮次对应的毛发的轮廓混合数据,并将所述轮廓混合数据写入所述第二帧缓冲器;其中,所述轮廓混合数据,用于与待渲染的背景图像进行融合;对所述第一帧缓冲器以及所述第二帧缓冲器中的混合数据进行展示。
进一步可选地,还包括:获取实时输入的所述待渲染的背景图像;将所述背景图像与所述第二帧缓冲器中的轮廓混合数据进行融合,得到背景混合数据;将所述背景混合数据写入所述第二帧缓冲器。
进一步可选地,对所述第一帧缓冲器以及所述第二帧缓冲器中的混合数据进行展示,包括:对所述第一帧缓冲器和所述第二帧缓冲器中的数据进行合成处理,得到合成数据;将所述合成数据写入所述渲染管线的第三帧缓冲器中;对所述第三帧缓冲器中的所述合成数据进行展示。
进一步可选地,在任一绘制轮次中,计算当前绘制轮次对应的毛发的自身混合数据,包括:在当前制轮次中,从所述第一帧缓冲器中读取历史绘制轮次对应的历史自身混合数据;将当前轮次绘制得到的毛发数据与所述历史自身混合数据进行混合计算,得到当前轮次对应的自身混合数据。
进一步可选地,获取当前绘制轮次对应的毛发的轮廓混合数据,包括:标记当前绘制轮次绘制得到的毛发的轮廓数据;在当前制轮次中,从所述第二帧缓冲器中读取历史绘制轮次对应的历史轮廓混合数据;将所述轮廓数据与所述历史轮廓混合数据进行混合计算,得到所述当前绘制轮次对应的轮廓混合数据。
进一步可选地,所述图形处理器的渲染管线包括:第一像素着色器以及第二像素着色器;其中,所述第一像素着色器,用于在任一绘制轮次中,计算当前绘制轮次对应的毛发的自身混合数据;所述第二像素着色器,用于获取当前绘制轮次对应的毛发的轮廓混合数据。
进一步可选地,响应中央处理器的渲染指令,在待渲染对象的外壳上进行多轮次的毛发绘制操作之前,还包括:接收所述中央处理器发送的渲染指令集合;所述渲染指令集合包含针对多帧图像的渲染指令;根据所述多帧图像各自对应的渲染指令,确定所述多帧图像各自的渲染参数;根据所述多帧图像各自的渲染参数,启动所述多帧图像对应的多个渲染进程。
本申请实施例还提供一种电子设备,包括:存储器、中央处理器以及图形处理器;所述存储器用于存储一条或多条计算机指令;所述中央处理器用于执行所述一条或多条计算机指令以用于:调用所述图形处理器执行本申请实施例提供的方法中的步骤。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现本申请实施例提供的方法中的步骤。
本申请实施例提供的图像渲染方法中,中央处理器的渲染管线至少包括第一帧缓冲器以及第二帧缓冲器。图形处理器根据中央处理器的渲染指令进行多轮次毛发绘制操作时,可在每个绘制轮次中,标记毛发的轮廓数据,将毛发的自身混合结果存放于第一帧缓冲器,并将轮廓混合数据存放与第二帧缓冲器中。基于这种实施方式,一方面,可在每轮绘制完成后同时得到毛发混合结果以及具有较高的边缘精度的轮廓混合结果,降低了多层渲染所需的时间成本,提升像素填充率;另一方面,在绘制毛发的过程中标记高边缘精度的轮廓数据,不依赖于预先提供的背景图像,存在背景混合需求时,可将轮廓混合数据与动态提供的背景图像进行精确融合,实现高性能的实时渲染。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的图像渲染方法的流程示意图;
图2a为本申请一示例性实施例提供的GPU的渲染管线的示意图;
图2b为本申请一示例性实施例提供的毛发的自身混合结果的示意图;
图2c为本申请一示例性实施例提供的毛发的轮廓混合结果的示意图;
图3为本申请一示例性实施例提供的多缓冲合并的示意图;
图4为本申请一示例性实施例提供的多帧并行渲染的操作流程示意图;
图5为本申请一示例性实施例提供的多帧并行渲染时每帧的资源示意图;
图6为本申请一示例性实施例提供的多帧并行渲染的时序示意图;
图7为本申请一示例性实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,存在一种壳渲染(Shell Rendering)的毛发渲染方法,该方法主要为指定的一个物体在世界空间渲染多次,是短毛和描边等材质中常用的渲染方法。
在壳渲染的方案中,计算层数越多,则渲染效果越好。为实现多层计算,针对指定物体的渲染命令将被多次提交到命令缓冲中。即,CPU(central processing unit,中央处理器)可多次向命令缓冲队列中提交针对指定物体的渲染命令,以调用GPU(graphicsprocessing unit,图形处理器)执行渲染任务。
在多遍绘制的情况下,对毛发进行自身混合处理时,需要CPU端执行N次shell绘制调用,且GPU端需要执行N次渲染流程,每个渲染流程包括VS(顶点着色器)运算、硬件光栅化、颜色混合运算等等。除自身混合处理之外,GPU还需要将渲染出的物体与背景进行混合,背景混合同样需要GPU端执行N次毛发自身混合流程以在背景上渲染出物体的毛发轮廓。
为降低CPU的命令提交次数,目前存在一种实例化绘制的方式。在实例绘制的情况下,对毛发进行自身混合处理时,需要CPU端执行1次shell绘制调用,且GPU端需要执行N次渲染流程,每个渲染流程包括VS(顶点着色器)运算、硬件光栅化、颜色混合运算等等。除自身混合处理之外,GPU还需要将渲染出的物体与背景进行混合,背景混合同样需要GPU端执行N次毛发自身混合流程以在背景上渲染出物体的毛发轮廓。
上述渲染方法的时间复杂度较高,在空间成本不变的情况下,时间成本随着渲染次数的增多而增大。同时,在GPU端,相关的自身混合片元需要处理大量的overdraw,严重影响向帧缓冲写入的效率,降低像素填充率,从而影响渲染效率。
针对上述技术问题,在本申请一些实施例中,提供了一种解决方案,以下将结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的图像渲染方法的流程示意图,如图1所示,该方法包括:
步骤101、GPU响应CPU的渲染指令,在待渲染对象的外壳上进行多轮次的毛发绘制操作。
步骤102、在任一绘制轮次中,计算当前绘制轮次对应的毛发的自身混合数据,并将计算得到的自身混合数据写入GPU的渲染管线中的第一帧缓冲器。
步骤103、获取当前绘制轮次对应的毛发的轮廓混合数据,并将所述轮廓混合数据写入GPU的渲染管线中的第二帧缓冲器;其中,所述轮廓混合数据,用于与待渲染的背景图像进行融合。
步骤104、对所述第一帧缓冲器以及所述第二帧缓冲器中的混合数据进行展示。
本实施例可由GPU执行,GPU的渲染管线包括至少两个帧缓冲器(FrameBuffer)。帧缓冲器是指计算机系统中专门用来存放正在合成或显示的图像的存储器。帧缓冲允许上层应用程序在图形模式下直接对显示缓冲区进行读、写操作。当帧缓冲器承载视频或者图像的帧数据时,视频输出设备可基于包含完整的帧数据的内存缓冲区来驱动视频显示设备。其中,用于存放32位RGB图像的每个帧缓冲器包含4个数据通道。
在本实施例中,存在绘制需求时,CPU可向GPU发送渲染指令。GPU可响应该渲染指令,采用壳渲染的方式,在待渲染对象的外壳(或称模型)上进行多轮次的毛发绘制操作。
其中,在每个轮次绘制毛发时,可使用法线将顶点位置拓出模型表面,同时加入风力、重力等控制参数,从而在模型表面绘制真实感较高的虚拟的毛发。
绘制每根毛发时,可在渲染参数中设置毛发的相关渲染参数。当进行多次毛发绘制时,后渲染的毛发需要与已渲染完成的毛发进行混合操作(Blend operations)。基于多层绘制以及混合操作,可使得最终绘制得到的毛发的边缘具有毛尖效果,可与真实的毛发相媲美。
在任一绘制轮次中,GPU需要对当前绘制轮次绘制得到的毛发数据进行自身混合处理(Self Blend),得到毛发的自身混合数据。GPU计算得到毛发的自身混合数据后,可将该自身混合数据存储在一个数据通道中。32位的帧缓存器包含4个数据通道,进而,每个像素的R、G、B(红、绿、蓝)三个颜色分量的值以及毛发的自身混合数据的值可分别对应存放在帧缓冲器的四个数据通道中,该四个通道表示为R、G、B通道以及用于存放自身混合结果的A通道。
在本实施例中,为降低渲染次数,在每个绘制轮次中绘制毛发时,可同时对当前绘制轮次绘制得到的毛发的轮廓进行标记,得到当前绘制轮次的轮廓数据。当进行多次毛发绘制时,后标记的毛发的轮廓数据需要与先前绘制轮次中标记的轮廓数据进行混合操作。进而,可随着动态的绘制过程,捕捉动态变化的毛发轮廓数据,确保可获取到边缘精度较高的毛发轮廓,有利于提升后续与背景图像融合后产生发尖根根分明的效果。
其中,毛发的轮廓数据需要占用数据通道进行存储,为满足这一需求,在本实施例中,对GPU的渲染管线进行了改进,即:在CPU的渲染管线中设置至少两个帧缓冲器。
在以下的实施例中,将改造后的帧缓冲器标记为:第一帧缓冲器以及第二帧缓冲器。其中,采用“第一”、“第二”对帧缓冲器进行命名,仅用于方便描述和区分,并不对帧缓冲器的顺序、位置以及缓存空间大小构成限制。
其中,第一帧缓冲器包含4个数据通道用于存放毛发的三个颜色分量的值以及自身混合结果的值。第二帧缓冲器包含4个数据通道,毛发的轮廓混合数据可存放在第二帧缓冲器的任一数据通道中进行缓存。
基于这种实施方式,GPU执行一次毛发绘制操作,即可得到两个混合结果,即:自身混合数据以及毛发的轮廓混合数据。其中,毛发的轮廓混合数据用于后续与背景图像进行融合,并产生精确的融合结果。现对于现有技术需要GPU执行N次渲染流程来完成毛发的自身混合操作,并需要额外的N次渲染流程在背景上渲染出物体的轮廓之外,基于本申请实施例提供的方案只需要执行N此渲染流程即可得到毛发的自身渲染结果以及轮廓混合结果。时间开销的降低比例为N/2N,即相对于现有的渲染流程降低了50%的时间开销。
除此之外,由于在绘制的过程中精确地对毛发轮廓进行了标记,因此,绘制毛发的过程可不考虑背景图像产生的干扰。相对于现有的渲染流程而言,本实施例提供的毛发渲染方法不需要预先获取背景图像并在背景图像上进行毛发绘制。在实际应用中,可在绘制的过程中动态输入背景图像,也可在多轮次绘制完成后再输入背景图像,本实施例不做限制。基于这种实施方式,可随时与背景的美术制作进行对接。当输入背景图像时,该背景图像可与第二帧缓冲器中的毛发轮廓数据进行实时融合,得到毛发边缘与背景精确的精确的融合结果,该融合结果可作为背景混合数据写入第二帧缓冲器中。进而,可在提升渲染的实时性的同时,提升毛发边缘的视觉真实性。
在绘制的过程中,GPU可对第一帧缓冲器中的混合数据以及第二帧缓冲器中的混合数据进行展示。当尚未输入背景图像时,GPU可提交展示毛发的自身混合数据以及轮廓混合数据。当输入背景图像时,GPU可利用轮廓混合数据与背景图像进行融合,并提交展示融合后的背景数据以及毛发的自身混合数据。
在本实施例中,CPU的渲染管线至少包括第一帧缓冲器以及第二帧缓冲器。GPU根据CPU的渲染指令进行多轮次毛发绘制操作时,可在每个绘制轮次中,标记毛发的轮廓数据,将毛发的自身混合结果存放于第一帧缓冲器,并将轮廓混合数据存放与第二帧缓冲器中。基于这种实施方式,一方面,可在每轮绘制完成后同时得到毛发混合结果以及具有较高的边缘精度的轮廓混合结果,降低了多层渲染所需的时间成本,提升像素填充率;另一方面,在绘制毛发的过程中标记高边缘精度的轮廓数据,不依赖于预先提供的背景图像,存在背景混合需求时,可将轮廓混合数据与动态提供的背景图像进行精确融合,实现高性能的实时渲染。
在本申请的上述以及下述各实施例中,GPU提供的用于壳渲染的渲染管线控可如图2a所示,在图2a的示意中,该渲染管线可包括如下几个阶段:
输入装配(Input Assembler,LA)阶段,用于从内存读取几何数据(例如顶点和索引),并将读取到的集合数据组合为几何图元(例如,三角形、直线)。
顶点着色器(Vertex Shader,VS)阶段,用于控制顶点的渲染。
外壳着色器(Hull Shader,HS)阶段,用于有效地将模型的单个表面分解为许多三角形。
域着色器(Domain Shader, DS)阶段,用于基于外壳着色器 (HS) 阶段和细化器(TS) 阶段中的输入,输出修补程序中细分点的顶点位置。
几何着色器(Geometry Shader, GS)阶段,用于基于外壳着色器 (HS) 阶段和细化器 (TS) 阶段中的输入,输出修补程序中细分点的顶点位置。
光栅化(Rasterizer)阶段,用于将每个基元转换为像素,同时跨每个基元内插每顶点值。光栅化包括将剪裁顶点以呈现视锥、执行被 z 除运算以提供视角、将基元映射到2维视口以及决定如何调用像素着色器。
像素着色器(Pixel Shaders ,PS)阶段,用于接收基元的插值数据并生成每个像素数据,如颜色。像素着色器 (PS) 阶段支持丰富的着色技术,如每个像素照明和后处理。像素着色器是一个程序,它将常变量、纹理数据、内插的每个顶点的值和其他数据组合起来以生成每个像素的输出。
输出合并 (output merger, OM) 阶段,用于将各种类型的输出数据(像素着色器值、深度和模板信息)与着色器目标的内容以及深度/模板缓冲区组合在一起,以生成最终的管道结果。
在图2a的示意中,独立于GPU的渲染管线之外还包括有:计算着色器(ComputeShader ,CS)阶段。其中,计算着色器CS用于读写GPU的资源,计算像素着色器输出的离屏纹理,并最终把计算后结果呈现在屏幕上。
在图2a的示意中,在渲染管线还包括:渲染目标(Render Target ,RT)阶段其中。其中,渲染目标RT是一种缓冲器,显卡可通过该缓冲器绘制场景中的一个像素。在一些实施例中,如图2a所示,渲染管线可包括两个渲染目标RT0以及RT1。其中,RT0可基于前述实施例记载的第一帧缓冲器实现,RT1可基于前述实施例记载的第二帧缓冲器实现。
像素着色器PS输出每个像素的毛发混合值后,可将该毛发混合值写入RT0中;像素着色器PS输出每个像素的轮廓混合值后,可将该轮廓混合值写入TT1中。
其中,RT0用于存放颜色值以及自身混合的结果,即RT0的四个数据通道保存的数据为:RGB:颜色 + A:毛发的自身混合数据。其中,毛发的自身混合数据的展示效果可如图2b所示。
其中,RT0具有以下几个状态:
Load Option:LOAD_LOAD,表示加载时状态;
Store Option:STORE_STORE ,表示存储时状态;
Begin State:RENDER_TARGET,表示作为渲染目标的状态。
其中,RT1用于存放用于与背景图像进行融合的轮廓混合结果,即RT1的其中一个数据通道保存的数据为:R:毛发的轮廓混合数据。其中,毛发的轮廓混合数据的展示效果可如图2c所示,具有较高的边缘精度。
其中,RT1具有以下几个状态:
Load Option:LOAD_CLEAR,表示清理表面的状态,该状态下RT1可对上次绘制的残留进行清理;
Store Option:STORE_STORE,表示存储时状态;
Begin State:RENDER_TARGET,表示作为渲染目标的状态。
值得说明的是,在多遍渲染或者实例化渲染的情况下,可基于DepthStencilAttachment(深度模板附件)自动关闭硬件Early Z加速功能,以保证混合结果的正确性,不再赘述。
在上述多个阶段中,像素着色(PS)阶段是一个可编程的着色阶段。基于此,在本实施例中,可通过对像素着色阶段进行编程,得到至少两个像素着色器。该至少两个像素着色器中,包含两个具有不同的计算功能的像素着色器。为便于描述和区分,将GPU的渲染管线中的具有不同计算功能的像素着色器记为第一像素着色器以及第二像素着色器。
其中,第一像素着色器,用于在任一绘制轮次中,计算当前绘制轮次对应的毛发的自身混合数据;第二像素着色器,用于获取当前绘制轮次对应的毛发的轮廓混合数据。
也就是说,在每个绘制轮次中,计算每个像素的混合值时,GPU可采用第一像素着色器逐个计算每个像素的毛发混合值,并同时采用第二像素着色器对位于轮廓上的每个像素的轮廓混合值进行混合计算,进而可经过一个绘制轮次得到两个像素着色计算结果,不再赘述。
在一些可选的实施例中,上层显示设备或者应用程序可同时将两个缓冲器作为渲染目标。在这种情况下,上层显示设备或者应用程序可分别从第一帧缓冲器和第二帧缓冲器中读取对应的混合数据进行展示。
在另一些可选的实施例中,上层显示设备或者应用程序只支持同时将一个缓冲器作为渲染目标。此时,为便于上层设备或者应用读取混合数据,GPU可进一步地对第一帧缓冲器中的数据以及第二帧缓冲器中的数据进行合成处理,得到合成数据,并将合成数据写入渲染管线的第三帧缓冲器中,以供上层显示设备或者应用程序读取该合成数据进行展示。
如图3所示,RT0的四个数据通道保存的数据为:RGB:颜色 + A:毛发的自身混合数据,RT1的其中一个数据通道保存的数据为:R:背景混合数据。其中,背景混合数据为毛发的轮廓混合数据与动态输入的背景图像的混合结果。合成后,第三帧缓冲器的四个数据通道保存的数据为:RGB:三个颜色分量+A:合成数据。其中,合成数据为毛发的自身混合数据、轮廓混合数据与背景图像的合成结果,即前景的毛发与背景图像最终混合完成以待展示的图像数据。
在毛发的渲染操作中,为渲染得到画面效果较为真实的的毛发,通常需要进行多个轮次的渲染操作。其中,在多个轮次的渲染操作中,每一次绘制包含一层计算。其中,每层计算时,使用法线将顶点位置拓出模型表面,同时加入风力、重力等控制参数,以在模型表面绘制出符合要求的毛发。
其中,每一个轮次的绘制操作具有相似的绘制流程,以下将结合其中一个绘制轮次进行示例性说明。
在当前绘制轮次中,可根据预设的渲染参数,在待渲染对象的外壳上绘制毛发,得到当前轮次绘制的毛发数据。其中,渲染参数可包括:毛发的朝向、长度、直径、纹理、光照、风力、重力等参数,此处不赘述。
接下来,GPU可从第一帧缓冲器中读取历史绘制轮次对应的历史自身混合数据。例如,当前绘制轮次为第i个绘制轮次时,可从第一帧缓冲器中获取第i-1个绘制轮次的自身混合数据。其中,第i-1个绘制轮次的自身混合数据是由第1个绘制轮次、第2个绘制轮次…第i-1个绘制轮次绘制得到的毛发数据混合得到的。同理,第i个绘制轮次的自身混合数据保存在第一帧缓冲器中,当前绘制轮次为第i+1个绘制轮次时,可从第一帧缓冲器中获取第i个绘制轮次的自身混合数据。
接下来,GPU可将当前轮次绘制得到的毛发数据与历史自身混合数据进行混合计算,得到当前轮次对应的自身混合数据。即,当前绘制轮次为第i个绘制轮次时,可将第i个绘制轮次绘制得到的毛发数据与第i-1个绘制轮次的自身混合数据进行混合计算,得到第i个绘制轮次对应的自身混合数据,并将第i个绘制轮次对应的自身混合数据写入第二帧缓存器中。
其中,任一像素的毛发混合计算可参考如下的公式实现:
Figure 787413DEST_PATH_IMAGE001
公式1
Figure 623782DEST_PATH_IMAGE002
公式2
其中,
Figure 865407DEST_PATH_IMAGE003
为颜色分量的混合结果;
Figure 937268DEST_PATH_IMAGE004
,表示当前处理的像素的控制混合 的强度因子;
Figure 66610DEST_PATH_IMAGE005
,表示像素在当前绘制轮次的R、G、B颜色通道的值;
Figure 667355DEST_PATH_IMAGE006
,表示后缓 冲上控制混合的强度因子;
Figure 661856DEST_PATH_IMAGE007
,表示后缓冲上该像素的R、G、B颜色通道的值。
其中,
Figure 412774DEST_PATH_IMAGE008
表示自身混合结果;
Figure 176331DEST_PATH_IMAGE004
,表示当前处理的像素的控制混合的强 度因子;
Figure 72612DEST_PATH_IMAGE009
,表示像素在当前绘制轮次对应的毛发数据的值,该毛发数据可保存在第一帧 缓冲器的第四通道(A通道)中;
Figure 819988DEST_PATH_IMAGE006
,表示后缓冲上控制混合的强度因子;
Figure 109018DEST_PATH_IMAGE010
,表示 后缓冲上的第四通道的值,即该像素对应的历史自身混合数据的值。上述公式1以及公式2 中,强度因子
Figure 727081DEST_PATH_IMAGE004
以及
Figure 935208DEST_PATH_IMAGE006
为经验值,本实施例不做限制。
其中,当前绘制轮次绘制得到的毛发的相关数据,又可称为源数据(Source,简称
Figure 28935DEST_PATH_IMAGE011
);第一帧缓冲器中存放的历史绘制轮次对应的自身混合数据又可称为目标数据 (Destination,
Figure 715132DEST_PATH_IMAGE012
),即后缓冲的数据。混合计算时,可将当前绘制轮次绘制得到的毛发数 据混合到目标数据上。
其中,GPU在每个绘制轮次中进行毛发绘制时,可标记当前绘制轮次绘制得到的毛发的轮廓数据,并从第二帧缓冲器中读取历史绘制轮次对应的历史轮廓混合数据。例如,当前绘制轮次为第i个绘制轮次时,可从第二帧缓冲器中获取第i-1个绘制轮次的轮廓混合数据。其中,第i-1个绘制轮次的轮廓混合数据是由第1个绘制轮次、第2个绘制轮次… 第i-1个绘制轮次绘制得到的毛发的轮廓数据混合得到的。同理,第i个绘制轮次的轮廓混合数据保存在第二帧缓冲器中,当前绘制轮次为第i+1个绘制轮次时,可从第二帧缓冲器中获取第i个绘制轮次的混合混合数据。
接下来,GPU可将当前轮次绘制得到的轮廓数据与历史轮廓混合数据进行混合计算,得到当前绘制轮次对应的轮廓混合数据。即,当前绘制轮次为第i个绘制轮次时,可将的i个绘制轮次绘制得到的毛发的轮廓数据与第i-1个绘制轮次的轮廓混合数据进行混合计算,得到第i个绘制轮次对应的轮廓混合数据,并将第i个绘制轮次对应的轮廓混合数据写入第二帧缓存器中。
其中,任一项像素对应的轮廓混合计算过程可参考如下的公式实现:
Figure 718860DEST_PATH_IMAGE013
公式3
其中,
Figure 707675DEST_PATH_IMAGE014
表示毛发的轮廓的混合计算的结果;
Figure 898485DEST_PATH_IMAGE015
,表示该像素在当前绘制轮次对 应的轮廓数据的值值,即源轮廓值,
Figure 388372DEST_PATH_IMAGE016
,表示后缓冲上的轮廓值,即第二帧缓冲器保存的该 像素的历史混合轮廓数据的值。
还值得说明的是,在一些可选的实施例中,GPU可对多帧图像实现并行渲染。以下将进行示例性说明。
在这种实施方式中,可选地,CPU可连续向GPU的命令队列中提交多个渲染指令,每个渲染指令用于指示渲染一帧图像,多个渲染指令可形成渲染指令集合。GPU接收CPU发送的渲染指令集合,并可该多帧图像各自对应的渲染指令,确定该多帧图像各自的渲染参数。基于根据该多帧图像各自的渲染参数,GPU可启动该多帧图像对应的多个渲染进程。
其中,针对每帧图像的渲染操作可包括以下过程,如图4所示:
1)获取当前可被提交的图像数据(Acquire Present Imgage);
2)轮询同步状态以便执行后续工作(Wait For Fence);
3)更新数据和资源(Update);
4)延迟更新数据和资源(Late Update);
5)生成绘制命令缓冲(Material Render CB Generation);
6)为保证提交给队列的命令顺序执行和数据的同步,更新同步状态(Submit CBsWith Fence);
7)GPU呈现(Present)。
其中,每帧中的多渲染缓冲及其相关资源包括图5所示的命令池(Command Pool)、命令缓冲(CB:)、多个帧缓冲(Frame Buffers)、同步原语(Sync Primitives)、GPU队列间同步(Semaphore)、CPU某线程和GPU某队列的同步(FrameFence),不再一一进行赘述。
上述多帧并行渲染的过程,可如图6所示:CPU发送第0帧的渲染指令;GPU接收到该渲染指令后,启动执行第0帧的渲染任务。当GPU执行第0帧的渲染任务时,CPU发送第1帧的渲染指令。第0帧的渲染任务执行完毕后,GPU可执行第1帧的渲染任务。当GPU执行第1帧的渲染任务时,CPU发送第2帧的渲染指令。第1帧的渲染任务执行完毕后,GPU执行第2帧的渲染任务。在上述过程中,CPU可不间断向GPU发送渲染指令,进而,GPU的渲染管线可并行执行多帧图像的渲染操作,节省了CPU提交渲染命令的等待时间,有利于对CPU进行释放,提升CPU的性能。
除前述实施例记载的图像渲染方法之外,本申请实施例还提供一种图像渲染装置,该图像渲染装置的渲染管线包括:第一帧缓冲器、第二帧缓冲器、第一像素着色器以及第二像素着色器。其中,第一像素着色器,用于:在待渲染对象的外壳上进行多轮次的毛发绘制操作时,计算当前绘制轮次对应的毛发的自身混合数据,并将计算得到的自身混合数据写入第一帧缓冲器;第二像素着色器,用于:获取当前绘制轮次对应的毛发的轮廓混合数据,并将所述轮廓混合数据写入所述第二帧缓冲器。
其中,该图像渲染装置可实现为包含前述实施例记载的GPU的装置,例如平板电脑、手机、计算机等等,本实施例不再赘述。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤103的执行主体可以为设备A;又比如,步骤101和102的执行主体可以为设备A,步骤103的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图7是本申请一示例性实施例提供的电子设备的结构示意图,该电子设备可用于执行前述各实施例记载的图像渲染方法。如图7所示,该电子设备包括:存储器701、CPU702、GPU703以及显示组件704。
存储器701,用于存储计算机程序,并可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,第一资源等。
其中,存储器701可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
CPU702,与存储器701耦合,用于执行存储器701中的计算机程序,以用于:向GPU703发送渲染指令。
GPU703用于:响应CPU的渲染指令,在待渲染对象的外壳上进行多轮次的毛发绘制操作;在任一绘制轮次中,计算当前绘制轮次对应的毛发的自身混合数据,并将计算得到的自身混合数据写入渲染管线中的第一帧缓冲器;以及,获取当前绘制轮次对应的毛发的轮廓混合数据,并将所述轮廓混合数据写入渲染管线中的第二帧缓冲器;其中,所述轮廓混合数据,用于与待渲染的背景图像进行融合;通过显示组件704对所述第一帧缓冲器以及所述第二帧缓冲器中的混合数据进行展示。
进一步可选地,GPU703还用于:获取实时输入的所述待渲染的背景图像;将所述背景图像与所述第二帧缓冲器中的轮廓混合数据进行融合,得到背景混合数据;将所述背景混合数据写入所述第二帧缓冲器。
进一步可选地,GPU703在对所述第一帧缓冲器以及所述第二帧缓冲器中的混合数据进行展示时,具体用于:对所述第一帧缓冲器和所述第二帧缓冲器中的数据进行合成处理,得到合成数据;将所述合成数据写入所述渲染管线的第三帧缓冲器中;通过显示组件704,对所述第三帧缓冲器中的所述合成数据进行展示。
进一步可选地,GPU703在任一绘制轮次中,计算当前绘制轮次对应的毛发的自身混合数据时,具体用于:在当前制轮次中,从所述第一帧缓冲器中读取历史绘制轮次对应的历史自身混合数据;将当前轮次绘制得到的毛发数据与所述历史自身混合数据进行混合计算,得到当前轮次对应的自身混合数据。
进一步可选地,GPU703在获取当前绘制轮次对应的毛发的轮廓混合数据时,具体用于:标记当前绘制轮次绘制得到的毛发的轮廓数据;在当前制轮次中,从所述第二帧缓冲器中读取历史绘制轮次对应的历史轮廓混合数据;将所述轮廓数据与所述历史轮廓混合数据进行混合计算,得到所述当前绘制轮次对应的轮廓混合数据。
进一步可选地,所述GPU的渲染管线包括:第一像素着色器以及第二像素着色器;其中,所述第一像素着色器,用于在任一绘制轮次中,计算当前绘制轮次对应的毛发的自身混合数据;所述第二像素着色器,用于获取当前绘制轮次对应的毛发的轮廓混合数据。
进一步可选地,响应CPU的渲染指令,在待渲染对象的外壳上进行多轮次的毛发绘制操作之前,GPU703还用于:接收所述CPU发送的渲染指令集合;所述渲染指令集合包含针对多帧图像的渲染指令;根据所述多帧图像各自对应的渲染指令,确定所述多帧图像各自的渲染参数;根据所述多帧图像各自的渲染参数,启动所述多帧图像对应的多个渲染进程。
进一步,如图7所示,该电子设备还包括:通信组件705、电源组件706、音频组件707等其它组件。图7中仅示意性给出部分组件,并不意味着电子设备只包括图7所示组件。
其中,显示组件704包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
其中,通信组件705被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
其中,电源组件706,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
其中,音频组件707,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本实施例中,CPU的渲染管线至少包括第一帧缓冲器以及第二帧缓冲器。GPU根据CPU的渲染指令进行多轮次毛发绘制操作时,可在每个绘制轮次中,标记毛发的轮廓数据,将毛发的自身混合结果存放于第一帧缓冲器,并将轮廓混合数据存放与第二帧缓冲器中。基于这种实施方式,一方面,可在每轮绘制完成后同时得到毛发混合结果以及具有较高的边缘精度的轮廓混合结果,降低了多层渲染所需的时间成本,提升像素填充率;另一方面,在绘制毛发的过程中标记高边缘精度的轮廓数据,不依赖于预先提供的背景图像,存在背景混合需求时,可将轮廓混合数据与动态提供的背景图像进行精确融合,实现高性能的实时渲染。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (9)

1.一种图像渲染装置,其特征在于,所述图像渲染装置的渲染管线包括:第一帧缓冲器、第二帧缓冲器、第一像素着色器以及第二像素着色器;
其中,第一像素着色器,用于:在待渲染对象的外壳上进行多轮次的毛发绘制操作时,计算任一绘制轮次对应的毛发的自身混合数据,并将计算得到的自身混合数据写入所述第一帧缓冲器;其中,所述第一帧缓冲器的4个数据通道分别用于存放毛发的三个颜色分量以及所述自身混合数据;
所述第二像素着色器,用于:标记当前绘制轮次绘制得到的毛发的轮廓数据;在当前制轮次中,从所述第二帧缓冲器中读取历史绘制轮次对应的历史轮廓混合数据;将所述轮廓数据与所述历史轮廓混合数据进行混合计算,以获取所述绘制轮次对应的毛发的轮廓混合数据,并将所述轮廓混合数据写入所述第二帧缓冲器;所述毛发的轮廓混合数据,缓存在所述第二帧缓冲器的任一数据通道中;其中,所述轮廓混合数据,用于与待渲染的背景图像进行融合。
2.一种图像渲染方法,其特征在于,图形处理器的渲染管线至少包括第一帧缓冲器以及第二帧缓冲器;所述方法包括:
响应中央处理器的渲染指令,在待渲染对象的外壳上进行多轮次的毛发绘制操作;
在任一绘制轮次中,计算当前绘制轮次对应的毛发的自身混合数据,并将计算得到的自身混合数据写入所述第一帧缓冲器;其中,所述第一帧缓冲器的4个数据通道用于存放毛发的三个颜色分量以及所述自身混合数据;以及,
标记当前绘制轮次绘制得到的毛发的轮廓数据;在当前制轮次中,从所述第二帧缓冲器中读取历史绘制轮次对应的历史轮廓混合数据;将所述轮廓数据与所述历史轮廓混合数据进行混合计算,以获取当前绘制轮次对应的毛发的轮廓混合数据,并将所述轮廓混合数据写入所述第二帧缓冲器;所述毛发的轮廓混合数据,缓存在所述第二帧缓冲器的任一数据通道中;其中,所述轮廓混合数据,用于与待渲染的背景图像进行融合;
对所述第一帧缓冲器以及所述第二帧缓冲器中的混合数据进行展示。
3.根据权利要求2所述的方法,其特征在于,还包括:
获取实时输入的所述待渲染的背景图像;
将所述背景图像与所述第二帧缓冲器中的轮廓混合数据进行融合,得到背景混合数据;
将所述背景混合数据写入所述第二帧缓冲器。
4.根据权利要求2所述的方法,其特征在于,对所述第一帧缓冲器以及所述第二帧缓冲器中的混合数据进行展示,包括:
对所述第一帧缓冲器和所述第二帧缓冲器中的数据进行合成处理,得到合成数据;
将所述合成数据写入所述渲染管线的第三帧缓冲器中;
对所述第三帧缓冲器中的所述合成数据进行展示。
5.根据权利要求2所述的方法,其特征在于,在任一绘制轮次中,计算当前绘制轮次对应的毛发的自身混合数据,包括:
在当前制轮次中,从所述第一帧缓冲器中读取历史绘制轮次对应的历史自身混合数据;
将当前轮次绘制得到的毛发数据与所述历史自身混合数据进行混合计算,得到当前轮次对应的自身混合数据。
6.根据权利要求2所述的方法,其特征在于,所述图形处理器的渲染管线包括:第一像素着色器以及第二像素着色器;
其中,所述第一像素着色器,用于在任一绘制轮次中,计算当前绘制轮次对应的毛发的自身混合数据;
所述第二像素着色器,用于获取当前绘制轮次对应的毛发的轮廓混合数据。
7.根据权利要求2-6任一项所述的方法,其特征在于,响应中央处理器的渲染指令,在待渲染对象的外壳上进行多轮次的毛发绘制操作之前,还包括:
接收所述中央处理器发送的渲染指令集合;所述渲染指令集合包含针对多帧图像的渲染指令;
根据所述多帧图像各自对应的渲染指令,确定所述多帧图像各自的渲染参数;
根据所述多帧图像各自的渲染参数,启动所述多帧图像对应的多个渲染进程。
8.一种电子设备,其特征在于,包括:存储器、中央处理器以及图形处理器;
所述存储器用于存储一条或多条计算机指令;
所述中央处理器用于执行所述一条或多条计算机指令以用于:调用所述图形处理器执行权利要求2-7任一项所述的方法中的步骤。
9.一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序被执行时能够实现权利要求2-7任一项所述的方法中的步骤。
CN202110571617.9A 2021-05-25 2021-05-25 图像渲染方法、装置、设备及存储介质 Active CN113313802B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110571617.9A CN113313802B (zh) 2021-05-25 2021-05-25 图像渲染方法、装置、设备及存储介质
PCT/CN2021/132516 WO2022247179A1 (zh) 2021-05-25 2021-11-23 图像渲染方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110571617.9A CN113313802B (zh) 2021-05-25 2021-05-25 图像渲染方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113313802A CN113313802A (zh) 2021-08-27
CN113313802B true CN113313802B (zh) 2022-03-11

Family

ID=77374499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110571617.9A Active CN113313802B (zh) 2021-05-25 2021-05-25 图像渲染方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN113313802B (zh)
WO (1) WO2022247179A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113313802B (zh) * 2021-05-25 2022-03-11 完美世界(北京)软件科技发展有限公司 图像渲染方法、装置、设备及存储介质
CN113763521B (zh) * 2021-09-16 2023-06-13 网易(杭州)网络有限公司 毛发模型渲染方法、装置、电子设备及存储介质
CN115880127A (zh) * 2021-09-29 2023-03-31 华为技术有限公司 一种渲染格式选择方法及其相关设备
CN116185640B (zh) * 2023-04-20 2023-08-08 上海励驰半导体有限公司 基于多gpu的图像命令处理方法、装置、存储介质及芯片

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5977977A (en) * 1995-08-04 1999-11-02 Microsoft Corporation Method and system for multi-pass rendering
WO2008013788A2 (en) * 2006-07-24 2008-01-31 Sony Corporation A hair motion compositor system and optimization techniques for use in a hair/fur pipeline
US7522167B1 (en) * 2004-12-16 2009-04-21 Nvidia Corporation Coherence of displayed images for split-frame rendering in multi-processor graphics system
CN109685876A (zh) * 2018-12-21 2019-04-26 北京达佳互联信息技术有限公司 毛发渲染方法、装置、电子设备及存储介质
CN112233217A (zh) * 2020-12-18 2021-01-15 完美世界(北京)软件科技发展有限公司 一种虚拟场景的渲染方法和装置
CN112669425A (zh) * 2020-12-23 2021-04-16 北京像素软件科技股份有限公司 毛发渲染方法、装置、电子设备和可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7184052B2 (en) * 2004-06-18 2007-02-27 Microsoft Corporation Real-time texture rendering using generalized displacement maps
CN102708585B (zh) * 2012-05-09 2015-05-20 北京像素软件科技股份有限公司 一种渲染模型轮廓边缘的方法
CN109389664B (zh) * 2017-08-04 2022-02-22 腾讯科技(深圳)有限公司 模型贴图渲染方法、装置及终端
CN111508055B (zh) * 2019-01-30 2023-04-11 华为技术有限公司 渲染方法及装置
CN112419487B (zh) * 2020-12-02 2023-08-22 网易(杭州)网络有限公司 毛发三维重建方法、装置、电子设备及存储介质
CN113313802B (zh) * 2021-05-25 2022-03-11 完美世界(北京)软件科技发展有限公司 图像渲染方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5977977A (en) * 1995-08-04 1999-11-02 Microsoft Corporation Method and system for multi-pass rendering
US7522167B1 (en) * 2004-12-16 2009-04-21 Nvidia Corporation Coherence of displayed images for split-frame rendering in multi-processor graphics system
WO2008013788A2 (en) * 2006-07-24 2008-01-31 Sony Corporation A hair motion compositor system and optimization techniques for use in a hair/fur pipeline
CN109685876A (zh) * 2018-12-21 2019-04-26 北京达佳互联信息技术有限公司 毛发渲染方法、装置、电子设备及存储介质
CN112233217A (zh) * 2020-12-18 2021-01-15 完美世界(北京)软件科技发展有限公司 一种虚拟场景的渲染方法和装置
CN112669425A (zh) * 2020-12-23 2021-04-16 北京像素软件科技股份有限公司 毛发渲染方法、装置、电子设备和可读存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《Rendering fur directly into images》;Tania Pouli等;《Computers & Graphics》;20101231;第612-620页 *
《White Paper Fur(using Shells and Fins)》;NVIDIA;《White Paper Fur(using Shells and Fins)》;20070228;第1-6页 *
《基于GPU加速的轮廓毛发绘制技术》;杨刚等;《计算机工程与应用》;20081231;第32-35页 *

Also Published As

Publication number Publication date
CN113313802A (zh) 2021-08-27
WO2022247179A1 (zh) 2022-12-01

Similar Documents

Publication Publication Date Title
CN113313802B (zh) 图像渲染方法、装置、设备及存储介质
US20080284798A1 (en) Post-render graphics overlays
KR101980990B1 (ko) 중간-분류 아키텍처에서 프레임 대 프레임 일관성의 활용
EP3121786B1 (en) Graphics pipeline method and apparatus
EP2245598B1 (en) Multi-buffer support for off-screen surfaces in a graphics processing system
CN111400024B (zh) 渲染过程中的资源调用方法、装置和渲染引擎
CN111161392B (zh) 一种视频的生成方法、装置及计算机系统
WO2021135320A1 (zh) 一种视频的生成方法、装置及计算机系统
US10825129B2 (en) Eliminating off screen passes using memoryless render target
CN111754607A (zh) 图片处理方法及装置、电子设备、计算机可读存储介质
CN114669047B (zh) 一种图像处理方法、电子设备及存储介质
CN105550973B (zh) 图形处理单元、图形处理系统及抗锯齿处理方法
KR20170040698A (ko) 그래픽스 파이프라인을 수행하는 방법 및 장치
US7999814B2 (en) Information processing apparatus, graphics processor, control processor and information processing methods
CN111402349B (zh) 渲染方法、渲染装置和渲染引擎
CN114428573B (zh) 特效图像处理方法、装置、电子设备及存储介质
CN118043850A (zh) Meshlet着色图集
CN115471592A (zh) 一种动态图像的处理方法、系统
CN111402348B (zh) 光照效果的形成方法、装置和渲染引擎
JP2009205537A (ja) 表示装置、表示方法及びプログラム
CN112445318B (zh) 一种对象显示方法、装置、电子设备及存储介质
CN111402375B (zh) 百叶窗效果的形成方法、装置和渲染引擎
CN110262798B (zh) 基于WebGL的图形绘制方法、装置、运行器及可读存储介质
CN117611723A (zh) 显示信息的处理方法及设备
CN118283344A (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
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20210827

Assignee: Beijing Xuanguang Technology Co.,Ltd.

Assignor: Perfect world (Beijing) software technology development Co.,Ltd.

Contract record no.: X2022990000254

Denomination of invention: Image rendering method, device, device and storage medium

Granted publication date: 20220311

License type: Exclusive License

Record date: 20220610

EE01 Entry into force of recordation of patent licensing contract