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

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

Info

Publication number
WO2022247179A1
WO2022247179A1 PCT/CN2021/132516 CN2021132516W WO2022247179A1 WO 2022247179 A1 WO2022247179 A1 WO 2022247179A1 CN 2021132516 W CN2021132516 W CN 2021132516W WO 2022247179 A1 WO2022247179 A1 WO 2022247179A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
rendering
hair
frame buffer
round
Prior art date
Application number
PCT/CN2021/132516
Other languages
English (en)
French (fr)
Inventor
乔磊
冯星
Original Assignee
完美世界(北京)软件科技发展有限公司
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 完美世界(北京)软件科技发展有限公司 filed Critical 完美世界(北京)软件科技发展有限公司
Publication of WO2022247179A1 publication Critical patent/WO2022247179A1/zh

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

Definitions

  • the present invention relates to the technical field of image processing, in particular to an image rendering method, device, equipment and storage medium.
  • An embodiment of the present application provides an image rendering device.
  • the rendering pipeline of the image rendering device includes: a first frame buffer, a second frame buffer, a first pixel shader, and a second pixel shader; wherein, the first pixel
  • the shader is used for: when multiple rounds of hair drawing operations are performed on the shell of the object to be rendered, calculate the self-mixing data of the hair corresponding to any drawing round, and write the calculated self-mixing data into the first A frame buffer;
  • the second pixel shader is configured to: obtain contour blending data of the hair corresponding to the drawing round, and write the contour blending data into the second frame buffer.
  • Fig. 2a is a schematic diagram of a GPU rendering pipeline provided by an exemplary embodiment of the present application
  • Figure 8 schematically shows a block diagram of a computer device/equipment/system for implementing the method according to the present invention.
  • Fig. 9 schematically shows a block diagram of a computer program product implementing the method according to the invention.
  • each rendering process includes VS (vertex shader) operations, hardware Rasterization, color blending operations, and more.
  • the GPU In addition to self-mixing processing, the GPU also needs to mix the rendered object with the background. Background mixing also requires the GPU to perform N times of hair self-mixing processes to render the hair outline of the object on the background.
  • each rendering process includes VS (vertex shader) operations, hardware raster transformation, color blending operations, etc.
  • VS vertex shader
  • the GPU In addition to self-mixing processing, the GPU also needs to mix the rendered object with the background. Background mixing also requires the GPU to perform N times of hair self-mixing processes to render the hair outline of the object on the background.
  • the time complexity of the above rendering method is relatively high, and the time cost increases with the increase of the number of renderings when the space cost remains unchanged.
  • the related self-mixed fragments need to deal with a large amount of overdraw, which seriously affects the efficiency of writing to the frame buffer, reduces the pixel fill rate, and thus affects rendering efficiency.
  • Step 101 the GPU responds to the rendering instruction of the CPU, and performs multiple rounds of hair drawing operations on the shell of the object to be rendered.
  • Step 104 displaying the mixed data in the first frame buffer and the second frame buffer.
  • This embodiment can be executed by a GPU, and the rendering pipeline of the GPU includes at least two frame buffers (FrameBuffer).
  • the frame buffer refers to the memory in the computer system specially used to store the image being synthesized or displayed.
  • the frame buffer allows upper layer applications to directly read and write the display buffer in graphics mode.
  • the video output device can drive the video display device based on the memory buffer containing the complete frame data.
  • each frame buffer for storing 32-bit RGB images contains 4 data channels.
  • the vertex position when drawing hair in each round, the vertex position can be extended out of the model surface by using the normal line, and control parameters such as wind force and gravity can be added at the same time, so as to draw virtual hair with a high sense of reality on the model surface.
  • the modified frame buffers are marked as: the first frame buffer and the second frame buffer.
  • first and second are used to name the frame buffers, which are only used for convenience of description and distinction, and do not limit the sequence, position and size of the buffer space of the frame buffers.
  • the input assembly (Input Assembler, LA) stage is used to read geometric data (such as vertices and indices) from memory, and combine the read collection data into geometric primitives (such as triangles, lines).
  • a Geometry Shader (GS) stage to output the vertex positions of tessellation points in the patch based on the inputs in the Hull Shader (HS) stage and Tessellation (TS) stage.
  • the output merger (OM) stage is used to combine various types of output data (pixel shader values, depth and stencil information) with the contents of the shader target and the depth/stencil buffer to produce the final pipeline result.
  • the hair blending value can be written into RT0; after the pixel shader PS outputs the contour blending value of each pixel, the contour blending value can be written into TT1.
  • RT0 has the following states:
  • RT1 is used to store the contour blending result for fusion with the background image, that is, the data stored in one of the data channels of RT1 is: R: contour blending data of hair.
  • R contour blending data of hair.
  • the first pixel shader is used to calculate the self-mixing data of the hair corresponding to the current drawing round in any drawing round; the second pixel shader is used to obtain the outline mixing data of the hair corresponding to the current drawing round .

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

图像渲染方法、装置、设备及存储介质
交叉引用
本申请要求2021年05月25日递交的、申请号为“202110571617.9”、发明名称为“图像渲染方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及在图像处理技术领域,尤其涉及一种图像渲染方法、装置、设备及存储介质。
背景技术
随着图像处理技术的发展,对游戏画面质量的要求也在不断提高。在一些游戏开发场景中,需要对物体表面的毛发进行渲染。
现有的毛发渲染方法具有高的时间成本,进而导致渲染过程中的像素填充率较低。因此,有待提出一种新的解决方案。
发明内容
本发明提出以下技术方案以克服或者至少部分地解决或者减缓上述问题:
根据本发明的一个方面,提供了一种图像渲染方法、装置、设备及存储介质,用以降低毛发渲染所需的计算资源,提升毛发渲染效率以及像素填充率。
本申请实施例提供一种图像渲染装置,所述图像渲染装置的渲染管线包括:第一帧缓冲器、第二帧缓冲器、第一像素着色器以及第二像素着色器;其中,第一像素着色器,用于:在待渲染对象的外壳上进行多轮次的毛发绘制操作时,计算任一绘制轮次对应的毛发的自身混合数据,并将计算得到的自身混合数据写入所述第一帧缓冲器;所述第二像素着色器,用于:获取所述绘制轮次对应的毛发的轮廓混合数据,并将所述轮廓混合数据写入所述第二帧缓冲器。
本申请实施例还提供一种图像渲染方法,图形处理器的渲染管线至少 包括第一帧缓冲器以及第二帧缓冲器;所述方法包括:响应中央处理器的渲染指令,在待渲染对象的外壳上进行多轮次的毛发绘制操作;在任一绘制轮次中,计算当前绘制轮次对应的毛发的自身混合数据,并将计算得到的自身混合数据写入所述第一帧缓冲器;以及,获取当前绘制轮次对应的毛发的轮廓混合数据,并将所述轮廓混合数据写入所述第二帧缓冲器;其中,所述轮廓混合数据,用于与待渲染的背景图像进行融合;对所述第一帧缓冲器以及所述第二帧缓冲器中的混合数据进行展示。
根据本发明的又一个方面,提供了一种计算机装置/设备/系统,包括存储器、处理器及存储在存储器上的计算机程序/指令,所述处理器执行所述计算机程序/指令时实现上述图像渲染方法的步骤。
根据本发明的再一个方面,提供了一种计算机可读介质,其上存储有计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述图像渲染方法的步骤。
根据本发明的再一个方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述图像渲染方法的步骤。
本发明的有益效果为:中央处理器的渲染管线至少包括第一帧缓冲器以及第二帧缓冲器。图形处理器根据中央处理器的渲染指令进行多轮次毛发绘制操作时,可在每个绘制轮次中,标记毛发的轮廓数据,将毛发的自身混合结果存放于第一帧缓冲器,并将轮廓混合数据存放与第二帧缓冲器中。基于这种实施方式,一方面,可在每轮绘制完成后同时得到毛发混合结果以及具有较高的边缘精度的轮廓混合结果,降低了多层渲染所需的时间成本,提升像素填充率;另一方面,在绘制毛发的过程中标记高边缘精度的轮廓数据,不依赖于预先提供的背景图像,存在背景混合需求时,可将轮廓混合数据与动态提供的背景图像进行精确融合,实现高性能的实时渲染。
附图说明
通过阅读下文优选实施方式的详细描述,本发明的上述及各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。在附图中:
图1为本申请一示例性实施例提供的图像渲染方法的流程示意图;
图2a为本申请一示例性实施例提供的GPU的渲染管线的示意图;
图2b为本申请一示例性实施例提供的毛发的自身混合结果的示意图;
图2c为本申请一示例性实施例提供的毛发的轮廓混合结果的示意图;
图3为本申请一示例性实施例提供的多缓冲合并的示意图;
图4为本申请一示例性实施例提供的多帧并行渲染的操作流程示意图;
图5为本申请一示例性实施例提供的多帧并行渲染时每帧的资源示意图;
图6为本申请一示例性实施例提供的多帧并行渲染的时序示意图;
图7为本申请一示例性实施例提供的电子设备的结构示意图;
图8示意性地示出了用于实现根据本发明的方法的计算机装置/设备/系统的框图;以及
图9示意性地示出了实现根据本发明的方法的计算机程序产品的框图。
具体实施方式
下面结合附图和具体的实施方式对本发明作进一步的描述。以下描述仅为说明本发明的基本原理而并非对其进行限制。
目前,存在一种壳渲染(Shell Rendering)的毛发渲染方法,该方法主要为指定的一个物体在世界空间渲染多次,是短毛和描边等材质中常用的渲染方法。
在壳渲染的方案中,计算层数越多,则渲染效果越好。为实现多层计算,针对指定物体的渲染命令将被多次提交到命令缓冲中。即,CPU(central processing unit,中央处理器)可多次向命令缓冲队列中提交针对指定物体的渲染命令,以调用GPU(graphics processing 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,表示作为渲染目标的状态。
值得说明的是,在多遍渲染或者实例化渲染的情况下,可基于DepthStencil Attachment(深度模板附件)自动关闭硬件Early Z加速功能,以保证混合结果的正确性,不再赘述。
在上述多个阶段中,像素着色(PS)阶段是一个可编程的着色阶段。基于此,在本实施例中,可通过对像素着色阶段进行编程,得到至少两个像素着色器。该至少两个像素着色器中,包含两个具有不同的计算功能的像素着色器。为便于描述和区分,将GPU的渲染管线中的具有不同计算功能的像素着色器记为第一像素着色器以及第二像素着色器。
其中,第一像素着色器,用于在任一绘制轮次中,计算当前绘制轮次对应的毛发的自身混合数据;第二像素着色器,用于获取当前绘制轮次对应的毛发的轮廓混合数据。
也就是说,在每个绘制轮次中,计算每个像素的混合值时,GPU可采用第一像素着色器逐个计算每个像素的毛发混合值,并同时采用第二像素着色器对位于轮廓上的每个像素的轮廓混合值进行混合计算,进而可经过一个绘制轮次得到两个像素着色计算结果,不再赘述。
在一些可选的实施例中,上层显示设备或者应用程序可同时将两个缓冲器作为渲染目标。在这种情况下,上层显示设备或者应用程序可分别从第一帧缓冲器和第二帧缓冲器中读取对应的混合数据进行展示。
在另一些可选的实施例中,上层显示设备或者应用程序只支持同时将一个缓冲器作为渲染目标。此时,为便于上层设备或者应用读取混合数据,GPU可进一步地对第一帧缓冲器中的自身混合数据以及第二帧缓冲器中的轮廓混合数据进行合成处理,得到合成数据,并将合成数据写入渲染管线的第三帧缓冲器中,以供上层显示设备或者应用程序读取该合成数据进行展示,如图3所示。在图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个绘制轮次对应的自身混合数据写入第二帧缓存器中。
其中,任一像素的毛发混合计算可参考如下的公式实现:
O rgb=SrcFactor×S rgb+DstFactor×D rgb  公式1
O a=SrcFactor×S a+DstFactor×D a  公式2
其中,O rgb为颜色分量的混合结果;SrcFactor,表示当前处理的像素的控制混合的强度因子;S rgb,表示像素在当前绘制轮次的R、G、B颜色通道的值;DstFactor,表示后缓冲上控制混合的强度因子;D rgb,表示后缓冲上该像素的R、G、B颜色通道的值。
其中,O a表示自身混合结果;SrcFactor,表示当前处理的像素的控制混合的强度因子;S a,表示像素在当前绘制轮次对应的毛发数据的值,该毛发数据可保存在第一帧缓冲器的第四通道(A通道)中;DstFactor,表示后缓冲上控制混合的强度因子;D a,表示后缓冲上的第四通道的值,即该像素对应的历史自身混合数据的值。上述公式1以及公式2中,强度因子SrcFactor以 及DstFactor为经验值,本实施例不做限制。
其中,当前绘制轮次绘制得到的毛发的相关数据,又可称为源数据(Source,简称Src);第一帧缓冲器中存放的历史绘制轮次对应的自身混合数据又可称为目标数据(Destination,Dst),即后缓冲的数据。混合计算时,可将当前绘制轮次绘制得到的毛发数据混合到目标数据上。
其中,GPU在每个绘制轮次中进行毛发绘制时,可标记当前绘制轮次绘制得到的毛发的轮廓数据,并从第二帧缓冲器中读取历史绘制轮次对应的历史轮廓混合数据。例如,当前绘制轮次为第i个绘制轮次时,可从第二帧缓冲器中获取第i-1个绘制轮次的轮廓混合数据。其中,第i-1个绘制轮次的轮廓混合数据是由第1个绘制轮次、第2个绘制轮次….第i-1个绘制轮次绘制得到的毛发的轮廓数据混合得到的。同理,第i个绘制轮次的轮廓混合数据保存在第二帧缓冲器中,当前绘制轮次为第i+1个绘制轮次时,可从第二帧缓冲器中获取第i个绘制轮次的混合混合数据。
接下来,GPU可将当前轮次绘制得到的轮廓数据与历史轮廓混合数据进行混合计算,得到当前绘制轮次对应的轮廓混合数据。即,当前绘制轮次为第i个绘制轮次时,可将的i个绘制轮次绘制得到的毛发的轮廓数据与第i-1个绘制轮次的轮廓混合数据进行混合计算,得到第i个绘制轮次对应的轮廓混合数据,并将第i个绘制轮次对应的轮廓混合数据写入第二帧缓存器中。
其中,任一项像素对应的轮廓混合计算过程可参考如下的公式实现:
O R=SrcFactor×S R+DstFactor+D R  公式3
其中,O R表示毛发的轮廓的混合计算的结果;S R,表示该像素在当前绘制轮次对应的轮廓数据的值值,即源轮廓值,D R,表示后缓冲上的轮廓值,即第二帧缓冲器保存的该像素的历史混合轮廓数据的值。
还值得说明的是,在一些可选的实施例中,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 CBs With 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的渲染指令进行多轮次毛发绘制操作时,可在每个绘制轮次中,标记毛发的轮廓数据,将毛发的自身混合结果存放于第一帧缓冲器,并将轮廓混合数据存放与第二帧缓冲器中。基于这种实施方式,一方面,可在每轮绘制完成后同时得到毛发混合结果以及具有较高的边缘精度的轮廓混合结果,降低了多层渲染所需的时间成本,提升像素填充率;另一方面,在绘制毛发的过程中标记高边缘精度的轮廓数据,不依赖于预先提供的背景图像,存在背景混合需求时,可将轮廓混合数据与动态提供的背景图像进行精确融合,实现高性能的实时渲染。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的图像渲染装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置的程序/指令(例如,计算机程序/指令和计算机程序产 品)。这样的实现本发明的程序/指令可以存储在计算机可读介质上,或者可以一个或者多个信号的形式存在,这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
图8示意性地示出了可以实现根据本发明的图像渲染方法的计算机装置/设备/系统,该计算机装置/设备/系统包括处理器810和以存储器820形式的计算机可读介质。存储器820是计算机可读介质的一个示例,其具有用于存储计算机程序/指令831的存储空间830。当所述计算机程序/指令831由处理器810执行时,可实现上文所描述的图像渲染方法中的各个步骤。
图9示意性地示出了实现根据本发明的方法的计算机程序产品的框图。所述计算机程序产品包括计算机程序/指令910,当所述计算机程序/指令910被诸如图8所示的处理器810之类的处理器执行时,可实现上文所描述的图像渲染方法中的各个步骤。
上文对本说明书特定实施例进行了描述,其与其它实施例一并涵盖于所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定遵循示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可行的或者有利的。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情 况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
应可理解,以上所述实施例仅为举例说明本发明之目的而并非对本发明进行限制。在不脱离本发明基本精神及特性的前提下,本领域技术人员还可以通过其他方式来实施本发明。本发明的范围当以后附的权利要求为准,凡在本说明书一个或多个实施例的精神和原则之内所做的任何修改、等同替换、改进等,皆应涵盖其中。

Claims (11)

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

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2022247179A1 true WO2022247179A1 (zh) 2022-12-01

Family

ID=77374499

Family Applications (1)

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

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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7522167B1 (en) * 2004-12-16 2009-04-21 Nvidia Corporation Coherence of displayed images for split-frame rendering in multi-processor graphics system
CN102708585A (zh) * 2012-05-09 2012-10-03 北京像素软件科技股份有限公司 一种渲染模型轮廓边缘的方法
CN109389664A (zh) * 2017-08-04 2019-02-26 腾讯科技(深圳)有限公司 模型贴图渲染方法、装置及终端
CN112419487A (zh) * 2020-12-02 2021-02-26 网易(杭州)网络有限公司 毛发三维重建方法、装置、电子设备及存储介质
CN113313802A (zh) * 2021-05-25 2021-08-27 完美世界(北京)软件科技发展有限公司 图像渲染方法、装置、设备及存储介质

Family Cites Families (7)

* 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
US7184052B2 (en) * 2004-06-18 2007-02-27 Microsoft Corporation Real-time texture rendering using generalized displacement maps
CN102096937B (zh) * 2006-07-24 2014-07-09 索尼株式会社 毛发运动合成器系统和用于毛发/皮毛流水线的优化技术
CN109685876B (zh) * 2018-12-21 2020-11-03 北京达佳互联信息技术有限公司 毛发渲染方法、装置、电子设备及存储介质
CN111508055B (zh) * 2019-01-30 2023-04-11 华为技术有限公司 渲染方法及装置
CN112233217B (zh) * 2020-12-18 2021-04-02 完美世界(北京)软件科技发展有限公司 一种虚拟场景的渲染方法和装置
CN112669425A (zh) * 2020-12-23 2021-04-16 北京像素软件科技股份有限公司 毛发渲染方法、装置、电子设备和可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7522167B1 (en) * 2004-12-16 2009-04-21 Nvidia Corporation Coherence of displayed images for split-frame rendering in multi-processor graphics system
CN102708585A (zh) * 2012-05-09 2012-10-03 北京像素软件科技股份有限公司 一种渲染模型轮廓边缘的方法
CN109389664A (zh) * 2017-08-04 2019-02-26 腾讯科技(深圳)有限公司 模型贴图渲染方法、装置及终端
CN112419487A (zh) * 2020-12-02 2021-02-26 网易(杭州)网络有限公司 毛发三维重建方法、装置、电子设备及存储介质
CN113313802A (zh) * 2021-05-25 2021-08-27 完美世界(北京)软件科技发展有限公司 图像渲染方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113313802A (zh) 2021-08-27
CN113313802B (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
WO2022247179A1 (zh) 图像渲染方法、装置、设备及存储介质
JP6333405B2 (ja) 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化
TWI634517B (zh) 用於高解析度顯示緩衝器之有效構造之方法
US20080284798A1 (en) Post-render graphics overlays
JP2020091877A (ja) 複数のレンダーターゲット内でアクティブカラーサンプルカウントを変更することによりスクリーンの位置によって有効解像度を変動させること
EP2245598B1 (en) Multi-buffer support for off-screen surfaces in a graphics processing system
EP3121786B1 (en) Graphics pipeline method and apparatus
JP2016091543A (ja) レンダリング方法、レンダリング装置及び電子装置
CN111754607A (zh) 图片处理方法及装置、电子设备、计算机可读存储介质
KR20170040698A (ko) 그래픽스 파이프라인을 수행하는 방법 및 장치
JP2010175638A (ja) 表示装置及び表示装置の表示方法
JP2008502978A (ja) フォワード・テクスチャ・マッピング3dグラフィックス・システム
US7999814B2 (en) Information processing apparatus, graphics processor, control processor and information processing methods
JP2003091737A (ja) 描画処理装置、描画処理プログラムを記録した記録媒体、描画処理プログラム、描画処理方法
JP2007272356A (ja) プログラム、情報記憶媒体及び画像生成システム
CN111402349A (zh) 渲染方法、渲染装置和渲染引擎
JP2003051023A (ja) 描画装置、描画方法、描画プログラム、及び描画プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001297331A (ja) 画像処理装置および方法、並びに記録媒体
JP5338520B2 (ja) 画像表示装置
CN115223516B (zh) 图形渲染与lcd驱动一体化芯片及相关方法和设备
WO2023280241A1 (zh) 图像画面渲染方法及电子设备
JP5407590B2 (ja) 画像表示装置
JP4693153B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4563070B2 (ja) ゲーム装置及びゲームプログラム
JP2006277490A (ja) プログラム、情報記憶媒体及び画像生成システム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21942742

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21942742

Country of ref document: EP

Kind code of ref document: A1