CN109242758A - 一种材质参数存储、材质参数获取方法及装置 - Google Patents
一种材质参数存储、材质参数获取方法及装置 Download PDFInfo
- Publication number
- CN109242758A CN109242758A CN201811087967.2A CN201811087967A CN109242758A CN 109242758 A CN109242758 A CN 109242758A CN 201811087967 A CN201811087967 A CN 201811087967A CN 109242758 A CN109242758 A CN 109242758A
- Authority
- CN
- China
- Prior art keywords
- material parameters
- buffer
- index information
- acquired
- parameter list
- 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
- 239000000463 material Substances 0.000 title claims abstract description 341
- 238000003860 storage Methods 0.000 title claims abstract description 122
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000004891 communication Methods 0.000 claims description 34
- 238000012805 post-processing Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 15
- 239000011232 storage material Substances 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000009877 rendering Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 10
- 241000208340 Araliaceae Species 0.000 description 9
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 9
- 235000003140 Panax quinquefolius Nutrition 0.000 description 9
- 235000008434 ginseng Nutrition 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明实施例提供了一种材质参数存储、材质参数获取方法及装置,该方法包括:获取待渲染图像的材质参数;获取用于存储所获取材质参数的参数表的索引信息;根据所获取的索引信息,将所获取的材质参数存储到所述参数表中,并将所获取的索引信息存储到几何缓冲区G‑Buffer中。应用本发明实施例提供的技术方案可以在待渲染图像包含的材质较多时也能够存储全部的材质参数。
Description
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种材质参数存储、材质参数获取方法及装置。
背景技术
随着显卡技术的发展,延迟渲染作为一种3D图形渲染方法逐渐被推广。延迟渲染主要包括:几何阶段和着色阶段。在几何阶段中,GPU(Graphics Processing Unit,图形处理器)获取图像的材质参数,如:粗糙度、法线方向等参数,并将获取的材质参数存储到G-buffer(Geometric Buffer,几何缓冲区)中;在着色阶段中,GPU利用在G-buffer中缓存的材质参数对图像中的像素进行光照计算,得到渲染后的图像。
然而,发明人在实现本发明的过程中发现:随着G-buffer中存储的材质参数增多,GPU的工作性能会降低;并且,由于所要渲染的图像中会包含不同的材质并且每一个材质均拥有一组材质参数,那么当所要渲染的图像包含的材质较多时,则会导致所要存储的材质参数可能会超出G-buffer中能够存储材质参数的数量上限,也就是G-buffer中不能存储全部材质参数,导致渲染后得到的图像的画质不能符合预期。
发明内容
本发明实施例的目的在于提供一种材质参数存储、材质参数获取方法及装置,以在待渲染图像包含的材质较多时也能够存储全部的材质参数。具体技术方案如下:
本发明实施的一方面,提供了一种材质参数存储方法,所述方法包括:
获取待渲染图像的材质参数;
获取用于存储所获取材质参数的参数表的索引信息;
根据所获取的索引信息,将所获取的材质参数存储到所述参数表中,并将所获取的索引信息存储到几何缓冲区G-Buffer中。
可选的,在所述获取用于存储所获取材质参数的参数表的索引信息的步骤之前,还包括:
在CPU中创建所述参数表;
为所述参数表分配索引信息。
可选的,所述将所获取的索引信息存储到几何缓冲区G-Buffer中的步骤,包括:
在G-Buffer中包含的渲染目标中确定用于存储所获取索引信息的渲染目标;
将所获取的索引信息存储到所确定渲染目标的Alpha通道。
可选的,所述根据所获取的索引信息,将所获取的材质参数存储到所述参数表中的步骤,包括:
判断所获取材质参数的数量是否超出所述G-Buffer的存储材质参数的数量上限;
如果是,将第一数量个材质参数存储到所述G-Buffer中,将第二数量个材质参数存储到所述参数表中,其中,所述第一数量小于所述数量上限,所述第二数量为所获取的材质参数的数量与所述第一数量之间的差值。
可选的,所述将第一数量材质参数存储到所述G-Buffer中,将第二数量材质参数存储到所述参数表中的步骤,包括:
确定所获取的材质参数中的共用材质参数,其中,所述共用材质参数为所述待渲染图像包含的各个材质拥有的材质参数中相同的材质参数;
判断所确定的共用材质参数的数量是否小于所述数量上限;
如果是,将所确定的共用材质参数存储到所述G-Buffer中,将除存储到所述G-Buffer中的材质参数之外的材质参数存储到所述参数表中;
如果否,在所确定的共用材质参数中选取所述第一数量个材质参数存储到所述G-Buffer中,将除存储到所述G-Buffer中的材质参数之外的材质参数存储到所述参数表中。
本发明实施的又一方面,还提供了一种材质参数获取方法,所述方法包括:
从G-Buffer中获取用于存储待渲染图像的材质参数的参数表的索引信息;
根据所获取的索引信息,从所述参数表中获取所述待渲染图像的材质参数。
可选的,所述获从G-Buffer中获取用于存储待渲染图像的材质参数的参数表的索引信息的步骤,包括:
确定所述G-Buffer中用于存储所述索引信息的渲染目标;
从所确定的渲染目标的Alpha通道获取所述索引信息。
可选的,所述根据所获取的索引信息,从所述参数表中获取所述待渲染图像的材质参数的步骤,包括:
在所述G-Buffer中存储有材质参数的情况下,获取所述G-Buffer中存储材质参数,并根据所获取的索引信息获取所述参数表中存储的材质参数。
本发明实施的又一方面,还提供了一种材质参数存储装置,所述装置包括:
第一获取模块,用于获取待渲染图像的材质参数;
第二获取模块,用于获取用于存储所获取材质参数的参数表的索引信息;
存储模块,用于根据所获取的索引信息,将所获取的材质参数存储到所述参数表中,并将所获取的索引信息存储到几何缓冲区G-Buffer中。
可选的,所述装置还包括:
创建模块,用于在CPU中创建所述参数表;
分配模块,用于为所述参数表分配索引信息。
可选的,所述存储模块,包括:
第一确定子模块,用于在G-Buffer中包含的渲染目标中确定用于存储所获取索引信息的渲染目标;
第一存储子模块,用于将所获取的索引信息存储到所确定渲染目标的Alpha通道。
可选的,所述存储模块,包括:
判断子模块,用于判断所获取材质参数的数量是否超出所述G-Buffer的存储材质参数的数量上限,并在判断结果为是时触发第二存储子模块;
第二存储子模块,用于将第一数量个材质参数存储到所述G-Buffer中,将第二数量个材质参数存储到所述参数表中,其中,所述第一数量小于所述数量上限,所述第二数量为所获取的材质参数的数量与所述第一数量之间的差值。
可选的,所述第二存储子模块,包括:
确定单元,用于确定所获取的材质参数中的共用材质参数,其中,所述共用材质参数为所述待渲染图像包含的各个材质拥有的材质参数中相同的材质参数;
判断单元,用于判断所确定的共用材质参数的数量是否小于所述数量上限,并在判断结果为是时触发第一存储单元,在判断结果为否时触发第二存储单元;
第一存储单元,用于将所确定的共用材质参数存储到所述G-Buffer中,将除存储到所述G-Buffer中的材质参数之外的材质参数存储到所述参数表中;
第二存储单元,用于在所确定的共用材质参数中选取所述第一数量个材质参数存储到所述G-Buffer中,将除存储到所述G-Buffer中的材质参数之外的材质参数存储到所述参数表中。
本发明实施的又一方面,还提供了一种材质参数获取装置,所述装置包括:
第三获取模块,用于从G-Buffer中获取用于存储待渲染图像的材质参数的参数表的索引信息;
第四获取模块,用于根据所获取的索引信息,从所述参数表中获取所述待渲染图像的材质参数。
可选的,所述第三获取模块,包括:
第二确定子模块,用于确定所述G-Buffer中用于存储所述索引信息的渲染目标;
获取子模块,用于从所确定的渲染目标的Alpha通道获取所述索引信息。
可选的,所述第四获取模块,具体用于
在所述G-Buffer中存储有材质参数的情况下,获取所述G-Buffer中存储材质参数,并根据所获取的索引信息获取所述参数表中存储的材质参数。
本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一材质参数存储方法。
本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一材质参数获取方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一材质参数存储方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一材质参数获取方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的材质参数存储方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的材质参数获取方法。
本发明实施例提供的一种材质参数存储、材质参数获取方法及装置,可以将待渲染图像的材质参数存储到参数表中,G-Buffer中可以不存储材质参数或者存储部分材质参数,因而能够减少对G-buffer中存储空间的需求提高GPU的工作性能,并且,在待渲染图像包含的材质较多时也能够存储全部的材质参数,以保证渲染后得到的图像的画质。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种材质参数存储方法的流程示意图;
图2为本发明实施例提供的一种材质参数获取方法的流程示意图;
图3为本发明实施例提供的一种材质参数存储装置的结构示意图;
图4为本发明实施例提供的一种材质参数获取装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图;
图6为本发明实施例提供的另一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,示出了本发明实施例提供的一种材质参数存储方法的流程示意图,该方法包括:
S100,获取待渲染图像的材质参数。
材质参数可以理解为在对图像进行渲染时所使用的参数。具体的,材质参数可以包括:粗糙度、漫反射颜色、法相方向、等参数。
一种实现方式中,可以通过对待渲染图像进行光栅化,得到待渲染图像的材质参数。
S110,获取用于存储所获取材质参数的参数表的索引信息。
一种实现方式中,可以在S110之前预先在CPU中创建参数表,然后为创建的参数表分配索引信息。其中,索引信息可以理解为能够唯一标识参数表的信息。
索引信息可以通过以下方式获取:
方式一,由于图像渲染过程是在GPU中完成的,基于此,CPU创建参数表后,CPU可以将索引信息发送给GPU,以使GPU获取索引信息并在后续渲染过程中,根据获取的索引信息将材质参数存储到CPU中的索引表;
方式二,GPU在渲染的过程中获取待渲染图像的材质参数后,可以向CPU发送获取索引信息的请求,CPU在接收到获取索引信息的请求后将索引信息发送给GPU,以使GPU在后续渲染过程中根据获取的索引信息将材质参数存储到CPU中的索引表。
S120,根据所获取的索引信息,将所获取的材质参数存储到参数表中,并将所获取的索引信息存储到几何缓冲区G-Buffer中。
一种实现方式中,可以将所获取的材质参数全部存储到参数表中,此时,G-Buffer中只需要存储索引信息,从而能够最少的占用G-Buffer的存储空间。
另一种实现方式中,也可以将所获取的材质参数中的一部分材质参数存储到G-Buffer中,将另一部分材质参数存储到参数表中。具体的,在存储过程中,可以判断所获取材质参数的数量是否超出G-Buffer的存储材质参数的数量上限;如果是,将第一数量个材质参数存储到G-Buffer中,将第二数量个材质参数存储到参数表中,其中,由于G-Buffer中需要预留存储索引信息的空间,所以第一数量要小于G-Buffer的存储材质参数的数量上限,相应地,第二数量为所获取的材质参数的数量与第一数量之间的差值。比如,所获取的材质参数的数量为20个,G-Buffer的存储材质参数的数量上限是8个,那么,可以将获取的材质参数中的6个存储到G-Buffer中,14个存储到参数表中。
由于待渲染图像包含的各个材质拥有的材质参数中会存在相同的材质参数,也就是所获取的材质参数中存在部分材质参数是各个材质所共有的参数,我们通常称之为共有材质参数。具体的,共有材质参数通常包括:法线参数、漫反射颜色等参数。基于此,一种实现方式中,在将所获取的材质参数存储到G-Buffer和参数表的过程中,可以确定所获取的材质参数中的共用材质参数,然后判断所确定的共用材质参数的数量是否小于G-Buffer的存储材质参数的数量上限;
如果是,将所确定的共用材质参数存储到G-Buffer中,将除存储到G-Buffer中的材质参数之外的材质参数存储到参数表中。也就是G-Buffer中存储共用材质参数,参数表中存储待渲染图像包含的各个材质所特有的材质参数。
如果否,在所确定的共用材质参数中选取第一数量个材质参数存储到G-Buffer中,将除存储到G-Buffer中的材质参数之外的材质参数存储到参数表中。
实际应用中,G-Buffer中包含有多个RT(render target,渲染目标),每个RT包含色彩通道和一个Alpha通道,色彩通道通常包含R(Red,红)、G(Green,绿)、B(Blue,蓝)三个通道。基于此,在将所获取的索引信息存储到G-Buffer的过程中,可以先任意选取一个RT,然后在所选RT包含的通道中任意选取一个通道进行存储;也可以在G-Buffer中包含的RT中先确定一个用于存储所获取索引信息的RT后,将所获取的索引信息存储到所确定RT的Alpha通道中。并且,在存储索引信息后可以记录索引信息的存储位置,如RT2,Alpha通道;使得后续在获取索引信息的过程中可以根据记录的存储位置直接从RT2,Alpha通道中获取索引信息。
本发明实施例提供的各个方案中,材质参数存储方法由于待渲染图像的材质参数是存储在参数表中的,G-Buffer中可以不存储材质参数或者存储部分材质参数,因此,能够减少对G-buffer中存储空间的占用提高GPU的工作性能,并且,在待渲染图像包含的材质较多时也能够通过参数表存储全部的材质参数,以保证渲染后得到的图像的画质。
参见图2,示出了本发明实施例提供的一种材质参数获取方法的流程示意图,该方法包括:
S200,从G-Buffer中获取用于存储待渲染图像的材质参数的参数表的索引信息。
一种实现方式中,从G-Buffer中获取用于存储待渲染图像的材质参数的参数表的索引信息时,可以先确定G-Buffer中用于存储索引信息的渲染目标,然后从所确定的渲染目标的Alpha通道获取所述索引信息。
一种实现方式中,在没有预先记录索引信息的存储位置的情况下,可以采用轮询的方式逐个检查G-Buffer中各个RT的通道是否存储有索引信息,以此实现从G-Buffer中获取索引信息。
S210,根据所获取的索引信息,从参数表中获取待渲染图像的材质参数。
具体的,在G-Buffer中没有存储有材质参数的情况下,可以根据索引信息从参数表中获取待渲染图像的全部材质参数。
而在G-Buffer中存储有材质参数的情况下,可以先获取G-Buffer中存储材质参数,然后再根据索引信息获取参数表中存储的材质参数。
本发明实施例提供的各个方案中,材质参数获取方法能够通过存储在G-buffer中的索引信息获取索引表中存储的材质参数,那么G-buffer中就可以不存储材质参数或者存储部分材质参数,因此,能够减少对G-buffer中存储空间的占用提高GPU的工作性能,并且,在待渲染图像包含的材质较多时也能够通过参数表存储全部的材质参数,以保证渲染后得到的图像的画质。
以下以一具体实施例来对本发明实施例提供的材质参数存储、获取方法进行说明:
对待渲染图像进行光栅化,得到待渲染图像的材质参数包括:Diffuse.xyz、Roughness、Normal.xyz、Specular.xyz、Param41、Param42、Param43、Param44、A、B、C。
而Gbuffer中包含4个RT,每个RT包含色彩通道和一个Alpha通道,可见,Gbuffer中不足以存储全部材质参数。
因此,需要获取预先在CPU中建立的参数表的索引信息,然后根据索引信息,将所获取的材质参数中的A、B、C存储到参数表中,并将索引信息存储到G-Buffer中RT2包含的Alpha通道中。最终Gbuffer和参数表中的存储结果分别如下:
Index | |||
0 | A0 | B0 | C0 |
1 | A1 | B1 | C1 |
2 | A2 | B2 | C2 |
… | … | … | … |
具体的,在将材质参数中的A、B、C存储到参数表的过程中,对于索引Index对应的参数Ai,Bi,Ci,对应void EncodeParam(int I,var Ai,var Bi,var Ci)实现如下:
相应地,在获取参数表中存储的材质参数的过程中,先读取G-Buffer中RT2包含的Alpha通道中的“ParamShare(MatType|ID)”,得到参数表的“Index”,从而读取参数表中的参数参数,具体解参数Ai,Bi,Ci过程实现如下:
参见图3,示出了本发明实施例提供的一种材质参数存储装置的结构示意图,该装置包括:
第一获取模块300,用于获取待渲染图像的材质参数;
第二获取模块310,用于获取用于存储所获取材质参数的参数表的索引信息;
存储模块320,用于根据所获取的索引信息,将所获取的材质参数存储到所述参数表中,并将所获取的索引信息存储到几何缓冲区G-Buffer中。
本发明实施例一种实现方式中,材质参数存储装置还包括:
创建模块,用于在CPU中创建所述参数表;
分配模块,用于为所述参数表分配索引信息。
本发明实施例一种实现方式中,存储模块320,包括:
第一确定子模块,用于在G-Buffer中包含的渲染目标中确定用于存储所获取索引信息的渲染目标;
第一存储子模块,用于将所获取的索引信息存储到所确定渲染目标的Alpha通道。
本发明实施例一种实现方式中,存储模块320,包括:
判断子模块,用于判断所获取材质参数的数量是否超出所述G-Buffer的存储材质参数的数量上限,并在判断结果为是时触发第二存储子模块;
第二存储子模块,用于将第一数量个材质参数存储到所述G-Buffer中,将第二数量个材质参数存储到所述参数表中,其中,所述第一数量小于所述数量上限,所述第二数量为所获取的材质参数的数量与所述第一数量之间的差值。
本发明实施例一种实现方式中,第二存储子模块,包括:
确定单元,用于确定所获取的材质参数中的共用材质参数,其中,所述共用材质参数为所述待渲染图像包含的各个材质拥有的材质参数中相同的材质参数;
判断单元,用于判断所确定的共用材质参数的数量是否小于所述数量上限,并在判断结果为是时触发第一存储单元,在判断结果为否时触发第二存储单元;
第一存储单元,用于将所确定的共用材质参数存储到所述G-Buffer中,将除存储到所述G-Buffer中的材质参数之外的材质参数存储到所述参数表中;
第二存储单元,用于在所确定的共用材质参数中选取所述第一数量个材质参数存储到所述G-Buffer中,将除存储到所述G-Buffer中的材质参数之外的材质参数存储到所述参数表中。
本发明实施例提供的各个方案中,材质参数存储装置由于待渲染图像的材质参数是存储在参数表中的,G-Buffer中可以不存储材质参数或者存储部分材质参数,因此,能够减少对G-buffer中存储空间的占用提高GPU的工作性能,并且,在待渲染图像包含的材质较多时也能够通过参数表存储全部的材质参数,以保证渲染后得到的图像的画质。。
参见图4,示出了本发明实施例提供的一种材质参数获取装置的结构示意图,该装置包括:
第三获取模块400,用于从G-Buffer中获取用于存储待渲染图像的材质参数的参数表的索引信息;
第四获取模块410,用于根据所获取的索引信息,从所述参数表中获取所述待渲染图像的材质参数。
本发明实施例一种实现方式中,第三获取模块400,包括:
第二确定子模块,用于确定所述G-Buffer中用于存储所述索引信息的渲染目标;
获取子模块,用于从所确定的渲染目标的Alpha通道获取所述索引信息。
本发明实施例一种实现方式中,第四获取模块410,具体用于
在所述G-Buffer中存储有材质参数的情况下,获取所述G-Buffer中存储材质参数,并根据所获取的索引信息获取所述参数表中存储的材质参数。
本发明实施例提供的各个方案中,材质参数获取装置能够通过存储在G-buffer中的索引信息获取索引表中存储的材质参数,那么G-buffer中就可以不存储材质参数或者存储部分材质参数,因此,能够减少对G-buffer中存储空间的占用提高GPU的工作性能,并且,在待渲染图像包含的材质较多时也能够通过参数表存储全部的材质参数,以保证渲染后得到的图像的画质。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器001、通信接口002、存储器003和通信总线004,其中,处理器001,通信接口002,存储器003通过通信总线004完成相互间的通信,
存储器003,用于存放计算机程序;
处理器001,用于执行存储器003上所存放的程序时,实现本发明实施例所述的材质参数存储方法。
具体的,上述材质参数存储方法,包括:
获取待渲染图像的材质参数;
获取用于存储所获取材质参数的参数表的索引信息;
根据所获取的索引信息,将所获取的材质参数存储到所述参数表中,并将所获取的索引信息存储到几何缓冲区G-Buffer中。
需要说明的是,上述处理器001执行存储器003上所存放的程序实现材质参数存储方法的其他实施例,与前述方法实施例部分提供的实施例相同,这里不再赘述。
本发明实施例提供的各个方案中,电子设备由于待渲染图像的材质参数是存储在参数表中的,G-Buffer中可以不存储材质参数或者存储部分材质参数,因此,能够减少对G-buffer中存储空间的占用提高GPU的工作性能,并且,在待渲染图像包含的材质较多时也能够通过参数表存储全部的材质参数,以保证渲染后得到的图像的画质。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器011、通信接口012、存储器013和通信总线014,其中,处理器011,通信接口012,存储器013通过通信总线014完成相互间的通信,
存储器013,用于存放计算机程序;
处理器011,用于执行存储器013上所存放的程序时,实现本发明实施例所述的材质参数获取方法。
具体的,上述材质参数获取方法,包括:
从G-Buffer中获取用于存储待渲染图像的材质参数的参数表的索引信息;
根据所获取的索引信息,从所述参数表中获取所述待渲染图像的材质参数。
需要说明的是,上述处理器011执行存储器013上所存放的程序实现材质参数获取方法的其他实施例,与前述方法实施例部分提供的实施例相同,这里不再赘述。
本发明实施例提供的各个方案中,电子设备能够通过存储在G-buffer中的索引信息获取索引表中存储的材质参数,那么G-buffer中就可以不存储材质参数或者存储部分材质参数,因此,能够减少对G-buffer中存储空间的占用提高GPU的工作性能,并且,在待渲染图像包含的材质较多时也能够通过参数表存储全部的材质参数,以保证渲染后得到的图像的画质。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一材质参数存储方法。
具体的,上述材质参数存储方法包括:
获取待渲染图像的材质参数;
获取用于存储所获取材质参数的参数表的索引信息;
根据所获取的索引信息,将所获取的材质参数存储到所述参数表中,并将所获取的索引信息存储到几何缓冲区G-Buffer中。
需要说明的是,通过上述计算机可读存储介质实现材质参数存储方法的其他实施例,与前述方法实施例部分提供的实施例相同,这里不再赘述。
本发明实施例提供的各个方案中,计算机可读存储介质由于待渲染图像的材质参数是存储在参数表中的,G-Buffer中可以不存储材质参数或者存储部分材质参数,因此,能够减少对G-buffer中存储空间的占用提高GPU的工作性能,并且,在待渲染图像包含的材质较多时也能够通过参数表存储全部的材质参数,以保证渲染后得到的图像的画质。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一材质参数获取方法。
具体的,上述材质参数获取方法包括:
从G-Buffer中获取用于存储待渲染图像的材质参数的参数表的索引信息;
根据所获取的索引信息,从所述参数表中获取所述待渲染图像的材质参数。
需要说明的是,通过上述计算机可读存储介质实现材质参数获取方法的其他实施例,与前述方法实施例部分提供的实施例相同,这里不再赘述。
本发明实施例提供的各个方案中,计算机可读存储介质能够通过存储在G-buffer中的索引信息获取索引表中存储的材质参数,那么G-buffer中就可以不存储材质参数或者存储部分材质参数,因此,能够减少对G-buffer中存储空间的占用提高GPU的工作性能,并且,在待渲染图像包含的材质较多时也能够通过参数表存储全部的材质参数,以保证渲染后得到的图像的画质。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一材质参数存储方法。
具体的,上述材质参数存储方法包括:
获取待渲染图像的材质参数;
获取用于存储所获取材质参数的参数表的索引信息;
根据所获取的索引信息,将所获取的材质参数存储到所述参数表中,并将所获取的索引信息存储到几何缓冲区G-Buffer中。
需要说明的是,通过上述计算机程序产品实现材质参数存储方法的其他实施例,与前述方法实施例部提供的实施例相同,这里不再赘述。
本发明实施例提供的各个方案中,计算机程序产品由于待渲染图像的材质参数是存储在参数表中的,G-Buffer中可以不存储材质参数或者存储部分材质参数,因此,能够减少对G-buffer中存储空间的占用提高GPU的工作性能,并且,在待渲染图像包含的材质较多时也能够通过参数表存储全部的材质参数,以保证渲染后得到的图像的画质。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一材质参数获取方法。
具体的,上述材质参数获取方法包括:
从G-Buffer中获取用于存储待渲染图像的材质参数的参数表的索引信息;
根据所获取的索引信息,从所述参数表中获取所述待渲染图像的材质参数。
需要说明的是,通过上述计算机程序产品实现材质参数获取方法的其他实施例,与前述方法实施例部份提供的实施例相同,这里不再赘述。
本发明实施例提供的各个方案中,计算机程序产品能够通过存储在G-buffer中的索引信息获取索引表中存储的材质参数,那么G-buffer中就可以不存储材质参数或者存储部分材质参数,因此,能够减少对G-buffer中存储空间的占用提高GPU的工作性能,并且,在待渲染图像包含的材质较多时也能够通过参数表存储全部的材质参数,以保证渲染后得到的图像的画质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (20)
1.一种材质参数存储方法,其特征在于,所述方法包括:
获取待渲染图像的材质参数;
获取用于存储所获取材质参数的参数表的索引信息;
根据所获取的索引信息,将所获取的材质参数存储到所述参数表中,并将所获取的索引信息存储到几何缓冲区G-Buffer中。
2.如权利要求1所述的方法,其特征在于,在所述获取用于存储所获取材质参数的参数表的索引信息的步骤之前,还包括:
在CPU中创建所述参数表;
为所述参数表分配索引信息。
3.如权利要求1中所述的方法,其特征在于,所述将所获取的索引信息存储到几何缓冲区G-Buffer中的步骤,包括:
在G-Buffer中包含的渲染目标中确定用于存储所获取索引信息的渲染目标;
将所获取的索引信息存储到所确定渲染目标的Alpha通道。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述根据所获取的索引信息,将所获取的材质参数存储到所述参数表中的步骤,包括:
判断所获取材质参数的数量是否超出所述G-Buffer的存储材质参数的数量上限;
如果是,将第一数量个材质参数存储到所述G-Buffer中,将第二数量个材质参数存储到所述参数表中,其中,所述第一数量小于所述数量上限,所述第二数量为所获取的材质参数的数量与所述第一数量之间的差值。
5.如权利要求4所述的方法,其特征在于,所述将第一数量材质参数存储到所述G-Buffer中,将第二数量材质参数存储到所述参数表中的步骤,包括:
确定所获取的材质参数中的共用材质参数,其中,所述共用材质参数为所述待渲染图像包含的各个材质拥有的材质参数中相同的材质参数;
判断所确定的共用材质参数的数量是否小于所述数量上限;
如果是,将所确定的共用材质参数存储到所述G-Buffer中,将除存储到所述G-Buffer中的材质参数之外的材质参数存储到所述参数表中;
如果否,在所确定的共用材质参数中选取所述第一数量个材质参数存储到所述G-Buffer中,将除存储到所述G-Buffer中的材质参数之外的材质参数存储到所述参数表中。
6.一种材质参数获取方法,其特征在于,所述方法包括:
从G-Buffer中获取用于存储待渲染图像的材质参数的参数表的索引信息;
根据所获取的索引信息,从所述参数表中获取所述待渲染图像的材质参数。
7.如权利要求6所述的方法,其特征在于,所述获从G-Buffer中获取用于存储待渲染图像的材质参数的参数表的索引信息的步骤,包括:
确定所述G-Buffer中用于存储所述索引信息的渲染目标;
从所确定的渲染目标的Alpha通道获取所述索引信息。
8.如权利要求6所述的方法,其特征在于,所述根据所获取的索引信息,从所述参数表中获取所述待渲染图像的材质参数的步骤,包括:
在所述G-Buffer中存储有材质参数的情况下,获取所述G-Buffer中存储材质参数,并根据所获取的索引信息获取所述参数表中存储的材质参数。
9.一种材质参数存储装置,其特征在于,所述装置包括:
第一获取模块,用于获取待渲染图像的材质参数;
第二获取模块,用于获取用于存储所获取材质参数的参数表的索引信息;
存储模块,用于根据所获取的索引信息,将所获取的材质参数存储到所述参数表中,并将所获取的索引信息存储到几何缓冲区G-Buffer中。
10.如权利要求9所述的装置,其特征在于,所述装置还包括:
创建模块,用于在CPU中创建所述参数表;
分配模块,用于为所述参数表分配索引信息。
11.如权利要求9所述的装置,其特征在于,所述存储模块,包括:
第一确定子模块,用于在G-Buffer中包含的渲染目标中确定用于存储所获取索引信息的渲染目标;
第一存储子模块,用于将所获取的索引信息存储到所确定渲染目标的Alpha通道。
12.如权利要求9-11任一项所述的装置,其特征在于,所述存储模块,包括:
判断子模块,用于判断所获取材质参数的数量是否超出所述G-Buffer的存储材质参数的数量上限,并在判断结果为是时触发第二存储子模块;
第二存储子模块,用于将第一数量个材质参数存储到所述G-Buffer中,将第二数量个材质参数存储到所述参数表中,其中,所述第一数量小于所述数量上限,所述第二数量为所获取的材质参数的数量与所述第一数量之间的差值。
13.如权利要求12所述的装置,其特征在于,所述第二存储子模块,包括:
确定单元,用于确定所获取的材质参数中的共用材质参数,其中,所述共用材质参数为所述待渲染图像包含的各个材质拥有的材质参数中相同的材质参数;
判断单元,用于判断所确定的共用材质参数的数量是否小于所述数量上限,并在判断结果为是时触发第一存储单元,在判断结果为否时触发第二存储单元;
第一存储单元,用于将所确定的共用材质参数存储到所述G-Buffer中,将除存储到所述G-Buffer中的材质参数之外的材质参数存储到所述参数表中;
第二存储单元,用于在所确定的共用材质参数中选取所述第一数量个材质参数存储到所述G-Buffer中,将除存储到所述G-Buffer中的材质参数之外的材质参数存储到所述参数表中。
14.一种材质参数获取装置,其特征在于,所述装置包括:
第三获取模块,用于从G-Buffer中获取用于存储待渲染图像的材质参数的参数表的索引信息;
第四获取模块,用于根据所获取的索引信息,从所述参数表中获取所述待渲染图像的材质参数。
15.如权利要求14所述的装置,其特征在于,所述第三获取模块,包括:
第二确定子模块,用于确定所述G-Buffer中用于存储所述索引信息的渲染目标;
获取子模块,用于从所确定的渲染目标的Alpha通道获取所述索引信息。
16.如权利要求14所述的装置,其特征在于,所述第四获取模块,具体用于
在所述G-Buffer中存储有材质参数的情况下,获取所述G-Buffer中存储材质参数,并根据所获取的索引信息获取所述参数表中存储的材质参数。
17.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
18.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求6-8任一所述的方法步骤。
19.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1-5任一所述的方法步骤。
20.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求6-8任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811087967.2A CN109242758A (zh) | 2018-09-18 | 2018-09-18 | 一种材质参数存储、材质参数获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811087967.2A CN109242758A (zh) | 2018-09-18 | 2018-09-18 | 一种材质参数存储、材质参数获取方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109242758A true CN109242758A (zh) | 2019-01-18 |
Family
ID=65059693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811087967.2A Pending CN109242758A (zh) | 2018-09-18 | 2018-09-18 | 一种材质参数存储、材质参数获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109242758A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106846238A (zh) * | 2017-03-01 | 2017-06-13 | 北京趣酷科技有限公司 | 一种Elf3D跨平台引擎系统 |
CN110211023A (zh) * | 2019-07-04 | 2019-09-06 | 珠海金山网络游戏科技有限公司 | 一种数据处理方法、装置、计算设备及存储介质 |
CN111340924A (zh) * | 2020-02-25 | 2020-06-26 | 网易(杭州)网络有限公司 | 图像渲染方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030210248A1 (en) * | 2002-05-08 | 2003-11-13 | Wyatt David A. | Method and system for optimally sharing memory between a host processor and graphics processor |
US20060133494A1 (en) * | 2004-12-17 | 2006-06-22 | Rahul Saxena | Image decoder with context-based parameter buffer |
CN103886547A (zh) * | 2012-12-20 | 2014-06-25 | 辉达公司 | 用于存储共享顶点的技术 |
CN105556565A (zh) * | 2013-06-10 | 2016-05-04 | 索尼电脑娱乐公司 | 片段着色器执行顶点着色器计算 |
CN106254489A (zh) * | 2016-08-16 | 2016-12-21 | 王淼 | 一种无文件传输的云渲染系统及其方法 |
CN107909538A (zh) * | 2017-12-07 | 2018-04-13 | 北京像素软件科技股份有限公司 | 地形数据处理方法及装置 |
-
2018
- 2018-09-18 CN CN201811087967.2A patent/CN109242758A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030210248A1 (en) * | 2002-05-08 | 2003-11-13 | Wyatt David A. | Method and system for optimally sharing memory between a host processor and graphics processor |
US20060133494A1 (en) * | 2004-12-17 | 2006-06-22 | Rahul Saxena | Image decoder with context-based parameter buffer |
CN103886547A (zh) * | 2012-12-20 | 2014-06-25 | 辉达公司 | 用于存储共享顶点的技术 |
CN105556565A (zh) * | 2013-06-10 | 2016-05-04 | 索尼电脑娱乐公司 | 片段着色器执行顶点着色器计算 |
CN106254489A (zh) * | 2016-08-16 | 2016-12-21 | 王淼 | 一种无文件传输的云渲染系统及其方法 |
CN107909538A (zh) * | 2017-12-07 | 2018-04-13 | 北京像素软件科技股份有限公司 | 地形数据处理方法及装置 |
Non-Patent Citations (2)
Title |
---|
陈密密: "基于顶点索引的三维建模与可视化方法研究", 《影像技术》 * |
陈密密: "基于顶点索引的三维建模与可视化方法研究", 《影像技术》, no. 02, 15 April 2011 (2011-04-15) * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106846238A (zh) * | 2017-03-01 | 2017-06-13 | 北京趣酷科技有限公司 | 一种Elf3D跨平台引擎系统 |
CN110211023A (zh) * | 2019-07-04 | 2019-09-06 | 珠海金山网络游戏科技有限公司 | 一种数据处理方法、装置、计算设备及存储介质 |
CN110211023B (zh) * | 2019-07-04 | 2023-06-02 | 珠海金山数字网络科技有限公司 | 一种数据处理方法、装置、计算设备及存储介质 |
CN111340924A (zh) * | 2020-02-25 | 2020-06-26 | 网易(杭州)网络有限公司 | 图像渲染方法、装置、设备及存储介质 |
CN111340924B (zh) * | 2020-02-25 | 2024-02-09 | 网易(杭州)网络有限公司 | 图像渲染方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210027519A1 (en) | Allocation of primitives to primitive blocks | |
US20180322684A1 (en) | Allocation of tiles to processing engines in a graphics processing system | |
CN109242758A (zh) | 一种材质参数存储、材质参数获取方法及装置 | |
CN107291802B (zh) | 关系图谱展示方法及装置 | |
US9626285B2 (en) | Storage resource allocation to dataflows based on data requirements and attributes | |
CN112560114B (zh) | 调用智能合约的方法及装置 | |
DE102015115576B4 (de) | Grafikverarbeitungseinheit, ein Grafikverarbeitungssystem mit derselben, und ein dieselbe verwendendes Anti-Aliasing-Verfahren | |
US10846908B2 (en) | Graphics processing apparatus based on hybrid GPU architecture | |
CN112433796B (zh) | 电子书的仿真翻页方法、电子设备及计算机存储介质 | |
CN107317853A (zh) | 消息弹窗动效展示方法、装置及系统 | |
CN109308386A (zh) | 工程图墙体识别方法、装置及电子设备 | |
CN110111118A (zh) | 一种物流包裹智能退换的信息处理方法和装置 | |
Vasilakis et al. | k+-buffer: Fragment synchronized k-buffer | |
CN112433795A (zh) | 电子书的仿真翻页方法、电子设备及计算机存储介质 | |
CN110874786B (zh) | 虚假交易团伙识别方法、设备及计算机可读介质 | |
US7425967B2 (en) | Device for processing pixel rasterization and method for processing the same | |
CN105740293B (zh) | 数据导出方法和装置 | |
CN109255187A (zh) | 分析方法及装置 | |
US11281935B2 (en) | 3D object detection from calibrated 2D images | |
CN113554738B (zh) | 全景图像展示方法、装置、电子设备及存储介质 | |
CN109102233A (zh) | 库存错误分析方法及相关产品 | |
CN113628286B (zh) | 视频色域检测方法、装置、计算设备及计算机存储介质 | |
CN112669372A (zh) | 一种用于渲染的方法、设备和计算机可读存储介质 | |
CN112446933B (zh) | 金融资产的图像化方法、装置、电子设备及可读存储介质 | |
CN115760543A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190118 |