CN114549732A - 模型的渲染方法、装置及电子设备 - Google Patents
模型的渲染方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114549732A CN114549732A CN202210031542.XA CN202210031542A CN114549732A CN 114549732 A CN114549732 A CN 114549732A CN 202210031542 A CN202210031542 A CN 202210031542A CN 114549732 A CN114549732 A CN 114549732A
- Authority
- CN
- China
- Prior art keywords
- color information
- vertex
- primitive
- fragment
- model
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Generation (AREA)
Abstract
本发明提供了一种模型的渲染方法、装置及电子设备,其中,方法包括:获取目标模型;目标模型的模型表面上的图元包括多个顶点;图元内部的片元设置有基础色信息;根据顶点在目标模型中的位置,设置顶点色信息;顶点色信息指示目标模型中各个位置的光照遮蔽强度;基于图元中的顶点色信息,调整图元中片元的基础色信息,得到调整后的片元的颜色信息;基于片元的颜色信息,对片元对应的像素进行渲染。该方式中,通过顶点色信息调整模型中各个片元的颜色,从而渲染出模型不同位置具有不同的光照遮蔽强度的视觉效果。这种光照遮蔽的渲染方式,在保障较好的渲染视觉效果的同时,降低了计算量,节约了运算资源,减少了游戏运行的卡顿和帧率不达标的问题。
Description
技术领域
本发明涉及模型渲染技术领域,具体而言,涉及一种模型的渲染方法、装置及电子设备。
背景技术
为了模拟真实场景下的光照效果,在渲染虚拟模型时,通常需要考虑光照遮蔽的问题。相关技术中,在对虚拟模型进行光照遮蔽渲染时,需要确认虚拟模型上的每个像素是位于模型的凸面还是凹面,再根据像素的位置确定像素的光照遮蔽强度。这种渲染光照遮蔽的方式计算量较大,需要消耗较多的资源实现,容易导致游戏运行卡顿或者游戏帧率不达标。
发明内容
有鉴于此,本发明的目的在于提供一种模型的渲染方法、装置及电子设备,在保证较好的光照遮蔽视觉效果的前提下,大幅度降低GPU运算量,提高模型渲染效率。
第一方面,本发明实施例提供了一种模型的渲染方法,该方法包括:获取目标模型;其中,目标模型的模型表面包括多个图元;图元包括多个顶点;图元内部的片元预先设置有基础色信息;根据上述顶点在上述目标模型中的位置,为顶点设置顶点色信息;顶点色信息用于指示所述目标模型中各个位置的光照遮蔽强度;基于上述图元中包括的顶点的顶点色信息,调整图元中片元的基础色信息,得到调整后的片元的颜色信息;基于上述片元的颜色信息,对片元对应的像素进行渲染。
上述顶点在上述目标模型中的位置,为顶点设置顶点色信息的步骤,包括:对于与目标模型的边缘的距离小于第一距离阈值的第一图元,设置第一图元中的顶点的顶点色信息大于第一颜色阈值;对于与目标模型的边缘的距离大于第二距离阈值的第二图元,设置第二图元中的顶点的顶点色信息小于第二颜色阈值。
上述基于图元中包括的顶点的顶点色信息,调整图元中片元的基础色信息,得到调整后的片元的颜色信息的步骤,包括:针对图元中的每个片元,根据片元在图元中的位置,以及图元中每个顶点的顶点色信息,确定片元对应的颜色调整参数;基于颜色调整参数调整片元的基础色信息,得到调整后的每个片元的颜色信息。
上述针对图元中的每个片元,根据上述片元在图元中的位置,以及图元中每个顶点的顶点色信息,确定片元对应的颜色调整参数的步骤,包括:针对图元中的每个片元,基于片元与图元中每个顶点的距离,对图元中每个顶点的顶点色信息进行插值处理,得到插值结果;将插值结果确定为片元对应的颜色调整参数。
上述针对图元中的每个片元,基于上述片元与图元中每个顶点的距离,对图元中每个顶点的顶点色信息进行插值处理,得到插值结果的步骤,包括:针对图元中的每个片元,根据片元与图元中每个顶点的距离,确定每个顶点对应的插值权重;根据每个顶点对应的插值权重,对图元中的多个顶点的顶点色信息进行插值处理,得到插值结果。
上述基于颜色调整参数调整上述片元的基础色信息,得到调整后的每个片元的颜色信息的步骤,包括:将片元的基础色信息与颜色调整参数相乘,得到调整后的片元的颜色信息。
上述基于图元中包括的顶点的顶点色信息,调整图元中片元的基础色信息,得到调整后的片元的颜色信息的步骤之后,方法还包括:获取预先设置的亮度调整参数;基于亮度调整参数,调整每个上述片元的颜色信息,得到每个片元的最终颜色信息。
上述基于亮度调整参数,调整每个上述片元的颜色信息,得到每个片元的最终颜色信息的步骤,包括:将每个片元的颜色信息与亮度调整参数相乘,得到每个片元的最终颜色信息。
第二方面,本发明实施例提供了一种模型的渲染装置,该装置包括:模型获取模块,用于获取目标模型,其中,目标模型的模型表面包括多个图元;图元包括多个顶点;图元内部的片元预先设置有基础色信息;顶点色信息获取模块,用于根据顶点在目标模型中的位置,为顶点设置顶点色信息;顶点色信息用于指示目标模型中各个位置的光照遮蔽强度;颜色信息调整模块,用于基于图元中包括的顶点的顶点色信息,调整图元中片元的基础色信息,得到调整后的片元的颜色信息;渲染模块,用于基于片元的颜色信息,对片元对应的像素进行渲染。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述的模型的渲染方法。
第四方面,本发明实施例提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述的模型的渲染方法。
本发明实施例带来了以下有益效果:
上述提供了一种模型的渲染方法、装置及电子设备,获取目标模型;目标模型的模型表面包括多个图元;图元包括多个顶点;图元内部的片元预先设置有基础色信息;根据顶点在目标模型中的位置,设置顶点色信息;顶点色信息用于指示目标模型中各个位置的光照遮蔽强度;基于图元中包括的顶点的顶点色信息,调整图元中片元的基础色信息,得到调整后的片元的颜色信息;基于片元的颜色信息,对片元对应的像素进行渲染。该方式中,通过顶点色信息调整模型中各个片元的颜色,从而渲染出模型不同位置具有不同的光照遮蔽强度的视觉效果。这种光照遮蔽的渲染方式,在保障较好的渲染视觉效果的同时,降低了计算量,节约了运算资源,减少了游戏运行的卡顿和帧率不达标的问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种光照遮蔽处理方式的示意图;
图2为本发明实施例提供的一种模型的渲染方法的流程图;
图3为本发明实施例提供的另一种模型的渲染方法的流程图;
图4为本发明实施例提供的一种模型的渲染装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了模拟真实场景下的光照效果,在渲染虚拟模型时,通常需要考虑光照遮蔽的问题。图形渲染光线照射不到的地方,颜色表现会偏黑,以此模拟现实中的光照遮蔽。相关技术中,在对虚拟模型进行光照遮蔽渲染时,需要确认虚拟模型上的每个像素是位于模型的凸面还是凹面,再根据像素的位置确定像素的光照遮蔽强度。当光照遮蔽越强,则像素亮度越小,当光照遮蔽越弱,则像素亮越大。
如图1所示,首先需要采集像素周围一系列的点,再逐个点计算是处于模型的内部还是外部。当处于模型外部的点数多,则认为该像素处于凸面。当处理模型内部的点多,则认为该像素处于凹面。处理凸面的像素则认为光照遮蔽较弱,处于凹面的像素,则认为光照遮蔽较强。而本身计算一个点是处于模型的内部还是外部,也是一个消耗比较高的算法。通过采样点及目标点的深度值变化,计算图元遮挡程度,并根据图元遮挡程度进行环境光遮蔽处理,这种渲染光照遮蔽的方式计算量较大,需要消耗较多的资源实现,容易导致游戏运行卡顿或者游戏帧率不达标。
在计算机图形学中全局光照的效果直接影响画面的真实性,使用传统的基于物理的光照算法(例如光线跟踪算法)可以达到很好的效果但是技术计算复杂,难以实施,所以在游戏等实时应用中一般选用环境光遮蔽技术模拟全局光照效果,在画面质量和渲染速度之间取得平衡,相关技术中,在对虚拟模型进行光照遮蔽渲染时,需要确认虚拟模型上的每个像素是位于模型的凸面还是凹面,再根据像素的位置确定像素的光照遮蔽强度,这种渲染光照遮蔽的方式计算量较大,需要消耗较多的资源,使得GPU的处理超负荷,影响运行稳定性。而游戏世界里,通常并不需要表现那么真实的光照遮蔽,所以也就不需要消耗那么高的遮蔽算法,基于此,本发明实施例提供的一种模型的渲染方法、装置及电子设备,该技术可以应用于游戏模型或其他虚拟场景中虚拟模型的渲染。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种模型的渲染方法进行详细介绍,如图2所示,该方法包括如下步骤:
步骤202,获取目标模型;其中,目标模型的模型表面包括多个图元;图元包括多个顶点;图元内部的片元预先设置有基础色信息;
游戏模型是游戏内的场景、角色和道具按照比例制作设计成的物体,常常是处于三维图形场景中,三维场景是由各种类型的三维图形构成的虚拟环境,例如,地图场景,游戏场景等。模型是构成三维图形场景的重要元素,包括地表、植被、建筑、人物、山川河流等。当处理目标模型时,模型表面被分成许多被称为“图元”的基本组件以便使图形处理操作能够更加容易实现。图元通常是简单多边形的形式,例如三角形、矩形等。图元包含一个或多个顶点,并且每个顶点将与其代表在该顶点位置处的图元的特定的数据值相关联,例如,顶点的X和Y位置、深度(Z)值、颜色和透明度值等。片元指在采样位置的图元的元素,通过光栅化可以将裁剪好的一个图元转换为多个片元。在系统中,颜色可定义成一个固定的数字或变量,颜色可以通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到的,其中,每个颜色通道的取值范围是0至255,通过颜色通道叠加可以得到相应的颜色值,本步骤中获取的目标模型片元内部预先设有基础色信息,其中基础色信息表示片元的基础颜色值。该技术颜色值可以由工程师在设计目标模型时设置。
步骤204,根据顶点在目标模型中的位置,为顶点设置顶点色信息;顶点色信息用于指示目标模型中各个位置的光照遮蔽强度;
模型表面每个图元的顶点中可以包含各种信息数据,包括:位置坐标信息、颜色信息、纹理坐标信息、顶点色信息、边界标记信息等,其中,顶点色信息用来表示光照下每个顶点受目标模型的其他顶点或其他模型遮挡的遮挡的程度。本步骤中顶点色信息可以是一个浮点数数值,数值的大小用来指示光照遮蔽强度大小。在游戏场景中,为了模拟真实场景下的光照效果,在渲染虚拟模型时,通常需要考虑光照遮蔽的问题,即所在环境的光照下模型本身的遮挡关系所带来的明暗变化,具体地,凹进去的地方,光照遮蔽强度大,表面呈现出光线暗的效果,凸出的地方,光照遮蔽强度小,表面呈现出光线亮的效果。这样使得渲染的结果更加富有层次感,对比度更高。本步骤中根据顶点在目标模型中的位置,为渲染的模型顶点设置顶点色信息,用于指示目标模型中各个位置的光照遮蔽强度。在实际实现时,工程师可以通过顶点涂色的方式,为顶点设置顶点色信息。
步骤206,基于图元中包括的顶点的顶点色信息,调整图元中片元的基础色信息,得到调整后的片元的颜色信息;
具体地,针对图元中的每个片元,根据片元在图元中的位置及图元中每个顶点的顶点色信息,确定片元对应的颜色调整参数,其中,颜色调整参数可以理解为针对片元的、具有加权属性的颜色信息,即通过对不同顶点的光照遮蔽强度值的加权达到控制片元的颜色强弱的目的,数据可以通过GPU(Graphics Processing Unit,图形处理器)插值获得,颜色调整参数的数值大小代表片元颜色的强弱;将颜色调整参数加载到片元的基础色信息上,得到调整后的每个片元的颜色信息。通过利用模型中图元的顶点色信息来达到控制片元颜色的强弱的目的,进而控制整个模型表面的颜色强弱,简单高效,减少了相关技术中GPU对遮蔽算法的运算量。
步骤208,基于片元的颜色信息,对片元对应的像素进行渲染;
渲染是计算机用程序将模型生成图像的过程。其中,图像最小单元为像素。片元是图元经过光栅化阶段后被分割成的一个个像素大小的基本单位,片元在渲染阶段经历上色操作、着色操作在显示器上最终生成图像,每一个片元(数据元素)可能对应于单一像素(图片元素),也可能在片元和显示像素之间不是一对一对应的情况,例如,在显示最终图像之前,在被混合的图像上执行诸如缩小尺寸之类的特定形式的后处理。
本步骤中模型的片元数据里面包含了用于渲染的颜色信息。基于片元的颜色信息,对片元对应的像素进行渲染操作。
上述一种模型的渲染方法,获取目标模型;其中,目标模型的模型表面包括多个图元;图元包括多个顶点;图元内部的片元预先设置有基础色信息;根据上述顶点在上述目标模型中的位置,为顶点设置顶点色信息;顶点色信息用于指示目标模型中各个位置的光照遮蔽强度;基于上述图元中包括的顶点的顶点色信息,调整图元中片元的基础色信息,得到调整后的片元的颜色信息;基于上述片元的颜色信息,对片元对应的像素进行渲染。该方式中,通过顶点色信息调整模型中各个片元的颜色,从而渲染出模型不同位置具有不同的光照遮蔽强度的视觉效果。这种光照遮蔽的渲染方式,在保障较好的渲染视觉效果的同时,降低了计算量,节约了运算资源,减少了游戏运行的卡顿和帧率不达标的问题。
下述实施例提供获取顶点色信息的具体实现方式。
每个顶点色信息可以是一个控制颜色的强弱的浮点数数值,其数值的大小用于指示光照遮蔽强度大小。在真实世界中,树木的外围受到光照的影响会表现得颜色较亮,饱和度更高,而树木的内部因为光照射不到,所以颜色表现得偏暗。因此,根据顶点所在目标模型中的位置,为顶点设置顶点色信息,对于与目标模型的边缘的距离小于第一距离阈值的第一图元,设置第一图元中的顶点的顶点色信息大于第一颜色阈值;该情况中,与目标模型的边缘的距离小于第一距离阈值的第一图元,可以理解为靠近目标模型边缘的图元,接收光照较多,此时,设置第一图元中的顶点的顶点色信息大于第一颜色阈值,该第一图元中顶点色信息数值较大,使后续第一图元中调整后的片元的颜色信息的数值较大,光照遮蔽强度较小。
对于与目标模型的边缘的距离大于第二距离阈值的第二图元,设置第二图元中的顶点的顶点色信息小于第二颜色阈值,该情况中,与目标模型的边缘的距离大于第一距离阈值的第二图元,可以理解为远离目标模型边缘的图元,接收光照较少,此时,设置第二图元中的顶点的顶点色信息小于第二颜色阈值,该第二图元中顶点色信息数值较小,使后续第二图元中调整后的片元的颜色信息的数值较小,光照遮蔽强度较强。上述第一距离阈值和第二距离阈值可以相同,也可以不同;上述第一颜色阈值与第二颜色阈值,可以相同,也可以不同。
具体地,以树木模型为例,需要将树木模型内部的顶点设置上一个数值较小的顶点色;在树木模型外围则设置数值较大的顶点色。树木的外围受到光照的影响会表现得颜色较亮,饱和度更高,而树木的内部因为光照射不到,所以颜色表现得偏暗。具体可以通过商业游戏引擎中的工具或3D等绘图软件实现。
下述实施例提供获取颜色调整参数的具体实现方式。
针对图元中的每个片元,根据片元在图元中的位置,以及图元中每个顶点的顶点色信息,确定片元对应的颜色调整参数;一个图元可以划分为多个片元,片元之间拼接得到图元,因此,每个片元在图元中的位置不同。在实际实现时,可以设置一位置基准,通过片元与该位置基准的相对位置,确定该片元在图元中的位置,该位置基准也是是顶点,也可以是图元的边。通过上述位置基准,可以使每个片元在图元中的位置通过一具体的位置参数表达;然后,再通过预设的算法,处理该位置参数以及上述图元中每个顶点的顶点色信息,得到片元对应的颜色调整参数。
一种具体的方式中,针对图元中的每个片元,基于片元与图元中每个顶点的距离,对图元中每个顶点的顶点色信息进行插值处理,得到插值结果;将该插值结果确定为片元对应的颜色调整参数。在该方式中,片元在图元中的位置,通过该片元与图元中的每个顶点的距离确定。与该片元距离越近的顶点,该顶点上的顶点色信息对该片元的颜色调整参数越大,基于此,可以确定每个顶点对应的插值权重,基于该插值权重对每个顶点的顶点色信息进行插值处理。具体的插值方式可以通过多种插值算法实现,例如,双线性插值法、最近邻插值法等。
基于上述,在具体实现时,针对图元中的每个片元,可以基于片元与图元中每个顶点的距离,确定每个顶点对应的插值权重;根据每个顶点对应的插值权重,对图元中的多个顶点的顶点色信息进行插值处理,得到插值结果,插值结果即为片元对应的颜色调整参数。
上述颜色调整参数是针对片元的、具有加权属性的颜色信息参数,通过GPU插值获得,数值大小用来控制颜色的强弱。在渲染时,输入图元的信息数据,包括顶点色信息、位置、颜色、纹理坐标等,在光栅化阶段,图元被转化成一系列的片元,这些片元通过一系列操作使每个片元都带有位置、颜色、纹理坐标这些属性信息,这些属性信息是通过GPU对顶点特征属性插值得到的。在该方式中,根据片元与图元中每个顶点的距离,通过使用加权属性对来自图元的每个顶点色信息数据应用权重,再对图元中多个顶点信息进行插值处理,得到插值结果即为该片元对应的颜色调整参数。
在另一个实施例中提供了颜色调整参数、亮度调整参数参与模型渲染的具体实现方式。为了便于理解,图3示出了另一种模型的渲染方法,包括下述步骤:
步骤S302,获取目标模型;其中,目标模型的模型表面包括多个图元;图元包括多个顶点;图元内部的片元预先设置有基础色信息;
本步骤与步骤S202相同,在此不再赘述。
步骤S304,根据顶点在目标模型中的位置,为顶点设置顶点色信息;顶点色信息用于指示目标模型中各个位置的光照遮蔽强度;
本步骤与步骤S204相同,具体地,根据顶点所在目标模型中的位置,为顶点设置顶点色信息,对于与目标模型的边缘的距离小于第一距离阈值的第一图元,设置第一图元中的顶点的顶点色信息大于第一颜色阈值;对于与目标模型的边缘的距离大于第二距离阈值的第二图元,设置第二图元中的顶点的顶点色信息小于第二颜色阈值,以树木为例,需要将树木内部的顶点设置上一个数值较小的顶点色;在树木外围则设置数值较大的顶点色。当然,这种操作可以通过商业游戏引擎中的工具或3D等绘图软件实现。
步骤S306,针对图元中的每个片元,根据片元在图元中的位置,以及图元中每个顶点的顶点色信息,确定片元对应的颜色调整参数;
如前文所述,在该步骤中,通过使用距离加权属性对来自图元的每个顶点色信息数据应用权重,再对图元中多个顶点信息进行插值处理,得到插值结果即为该片元对应的颜色调整参数,该阶段由GPU进行处理。
步骤S308,基于颜色调整参数调整片元的基础色信息,得到调整后的每个片元的颜色信息;
在本实施实例中,通过用模型的表面每个片元的基础色信息与相应的颜色调整参数做乘积运算,得到的数据即为调整后每个片元的颜色信息。这样可以达到用顶点色来控制表色颜色的强弱的目的。该方式中,撇除相关技术中高消耗的光照遮蔽算法,仅靠顶点色来控制光照遮蔽,大幅度降低GPU运算量,有效地缓解了游戏运行压力。
步骤S310,获取预先设置的亮度调整参数,基于该亮度调整参数,调整每个片元的颜色信息,得到每个片元的最终颜色信息。
例如,可以将片元的颜色信息与亮度调整参数相加,从而得到最终颜色信息,再如,也可以将每个片元的颜色信息与亮度调整参数相乘,得到每个片元的最终颜色信息;其中,将颜色信息与亮度调整参数相乘的方式,可以实现线性控制,可以较大范围的调整片元的颜色信息,进而满足较多的亮度调整需求。
本实施例中,亮度调整参数是为了方便游戏开发人员进行二次调整所设置的一个参数,通过与每个片元的颜色信息做乘积处理,以此来调整不同的效果细节。亮度调整参数通常数值为1.0,当然也可以设置为其他数值。此步骤主要用于,为了达到开发人员想要的视觉效果,对最终的效果进行微校。
一种具体的实现方式中,本实施例可以提供一渲染公式,即,FinalColor=Color*VertexColor*K;其中,FinalColor为上述每个片元的最终颜色信息;Color为片元的基础色信息;VertexColor为上述颜色调整参数;K为上述亮度调整参数。
步骤S312,基于片元的颜色信息,对片元对应的像素进行渲染;
渲染是计算机用程序将模型生成图像的过程。具体地,在计算机图形渲染过程中,顶点色信息数据会经过GPU权重插值转化,转化后得到的颜色调整参数传到每个像素对应的片元中并在像素处理阶段获得,根据颜色调整参数就可以对像素的颜色强弱进行处理,通过亮度调整参数对最终结果进行微校达到想要的渲染效果。
上述利用顶点色信息控制片元颜色对像素渲染的方法,仅通过利用模型中图元的顶点色信息来控制片元颜色的强弱,基于片元颜色对像素进行渲染,达到渲染效果,简单高效,既实现了游戏中光遮蔽效果又大幅度降低了GPU对遮蔽算法的运算量,有效的缓解了现有技术中渲染效率较低的问题。
对应于上述方法实施例,参见图4所示的一种模型的渲染装置的示意图,该装置包括如下步骤:
模型获取模块402,用于获取目标模型,其中,目标模型的模型表面包括多个图元;图元包括多个顶点;图元内部的片元预先设置有基础色信息;
顶点色信息获取模块404,用于根据顶点在目标模型中的位置,为顶点设置顶点色信息;顶点色信息用于指示目标模型中各个位置的光照遮蔽强度;
颜色信息调整模块406,用于基于图元中包括的顶点的顶点色信息,调整图元中片元的基础色信息,得到调整后的片元的颜色信息;
渲染模块408,用于基于上述片元的颜色信息,对片元对应的像素进行渲染。
上述模型的渲染装置中,获取目标模型,其中,目标模型的模型表面包括多个图元;图元包括多个顶点;图元内部的片元预先设置有基础色信息;用于根据上述顶点在上述目标模型中的位置,获取顶点设置顶点色信息;顶点色信息用于指示目标模型中各个位置的光照遮蔽强度;用于获取的片元的颜色信息;基于图元中包括的顶点的顶点色信息,调整图元中片元的基础色信息,得到调整后的片元的颜色信息;响应于基于上述片元的颜色信息,对片元对应的像素进行渲染。该方式中,通过顶点色信息调整模型中各个片元的颜色,从而渲染出模型不同位置具有不同的光照遮蔽强度的视觉效果。这种光照遮蔽的渲染方式,在保障较好的渲染视觉效果的同时,降低了计算量,节约了运算资源,减少了游戏运行的卡顿和帧率不达标的问题。
上述顶点色信息获取模块,还用于:对于与目标模型的边缘的距离小于第一距离阈值的第一图元,设置第一图元中的顶点的顶点色信息大于第一颜色阈值;对于与目标模型的边缘的距离大于第二距离阈值的第二图元,设置第二图元中的顶点的顶点色信息小于第二颜色阈值。
上述颜色信息调整模块,还用于:针对图元中的每个片元,根据片元在所述图元中的位置,以及图元中每个顶点的顶点色信息,确定片元对应的颜色调整参数;基于颜色调整参数调整片元的基础色信息,得到调整后的每个片元的颜色信息。
上述颜色信息调整模块,还用于:针对图元中的每个片元,基于片元与所述图元中每个顶点的距离,对图元中每个顶点的顶点色信息进行插值处理,得到插值结果;将插值结果确定为片元对应的颜色调整参数。
上述颜色信息调整模块,还用于:针对图元中的每个片元,根据片元与图元中每个顶点的距离,确定每个顶点对应的插值权重;根据每个顶点对应的插值权重,对图元中的多个顶点的顶点色信息进行插值处理,得到插值结果。
上述颜色信息调整模块,还用于:上述颜色调整参数调整上述片元的基础色信息,得到调整后的每个片元的颜色信息的步骤,包括:将片元的基础色信息与颜色调整参数相乘,得到调整后的片元的颜色信息。
上述装置还包括:亮度调整模块,用于:获取预先设置的亮度调整参数;基于亮度调整参数,调整每个上述片元的颜色信息,得到每个片元的最终颜色信息。
上述亮度调整模块,还用于:将每个片元的颜色信息与亮度调整参数相乘,得到每个片元的最终颜色信息。
本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述模型的渲染方法。
参见图5所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述模型的渲染方法。
进一步地,图5所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。
其中,存储器101可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。
本实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述模型的渲染方法。
本发明实施例所提供的一种模型的渲染方法、装置以及电子设备,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种模型的渲染方法,其特征在于,所述方法包括:
获取目标模型;其中,所述目标模型的模型表面包括多个图元;所述图元包括多个顶点;所述图元内部的片元预先设置有基础色信息;
根据所述顶点在所述目标模型中的位置,为所述顶点设置顶点色信息;所述顶点色信息用于指示所述目标模型中各个位置的光照遮蔽强度;
基于所述图元中包括的顶点的顶点色信息,调整所述图元中片元的基础色信息,得到调整后的片元的颜色信息;
基于所述片元的颜色信息,对所述片元对应的像素进行渲染。
2.根据权利要求1所述的方法,其特征在于,根据所述顶点在所述目标模型中的位置,为所述顶点设置顶点色信息的步骤,包括:
对于与所述目标模型的边缘的距离小于第一距离阈值的第一图元,设置所述第一图元中的顶点的顶点色信息大于第一颜色阈值;
对于与所述目标模型的边缘的距离大于第二距离阈值的第二图元,设置所述第二图元中的顶点的顶点色信息小于第二颜色阈值。
3.根据权利要求1所述的方法,其特征在于,基于所述图元中包括的顶点的顶点色信息,调整所述图元中片元的基础色信息,得到调整后的片元的颜色信息的步骤,包括:
针对所述图元中的每个片元,根据所述片元在所述图元中的位置,以及所述图元中每个顶点的顶点色信息,确定所述片元对应的颜色调整参数;
基于所述颜色调整参数调整所述片元的基础色信息,得到调整后的每个片元的颜色信息。
4.根据权利要求3所述的方法,其特征在于,针对所述图元中的每个片元,根据所述片元在所述图元中的位置,以及所述图元中每个顶点的顶点色信息,确定所述片元对应的颜色调整参数的步骤,包括:
针对所述图元中的每个片元,基于所述片元与所述图元中每个顶点的距离,对所述图元中每个顶点的顶点色信息进行插值处理,得到插值结果;
将所述插值结果确定为所述片元对应的颜色调整参数。
5.根据权利要求4所述的方法,其特征在于,针对所述图元中的每个片元,基于所述片元与所述图元中每个顶点的距离,对所述图元中每个顶点的顶点色信息进行插值处理,得到插值结果的步骤,包括:
针对所述图元中的每个片元,根据所述片元与所述图元中每个顶点的距离,确定每个顶点对应的插值权重;
根据每个顶点对应的插值权重,对所述图元中的多个顶点的顶点色信息进行插值处理,得到插值结果。
6.根据权利要求3所述的方法,其特征在于,基于所述颜色调整参数调整所述片元的基础色信息,得到调整后的每个片元的颜色信息的步骤,包括:将所述片元的基础色信息与所述颜色调整参数相乘,得到调整后的所述片元的颜色信息。
7.根据权利要求1所述的方法,其特征在于,基于所述图元中包括的顶点的顶点色信息,调整所述图元中片元的基础色信息,得到调整后的片元的颜色信息的步骤之后,所述方法还包括:
获取预先设置的亮度调整参数;
基于所述亮度调整参数,调整每个所述片元的颜色信息,得到每个所述片元的最终颜色信息。
8.根据权利要求7所述的方法,其特征在于,基于所述亮度调整参数,调整每个所述片元的颜色信息,得到每个所述片元的最终颜色信息的步骤,包括:将每个所述片元的颜色信息与所述亮度调整参数相乘,得到每个所述片元的最终颜色信息。
9.一种模型的渲染装置,其特征在于,所述装置包括:
模型获取模块,用于获取目标模型,其中,所述目标模型的模型表面包括多个图元;所述图元包括多个顶点;所述图元内部的片元预先设置有基础色信息;
顶点色信息获取模块,用于根据所述顶点在所述目标模型中的位置,为所述顶点设置顶点色信息;所述顶点色信息用于指示所述目标模型中各个位置的光照遮蔽强度;
颜色信息调整模块,用于基于所述图元中包括的顶点的顶点色信息,调整所述图元中片元的基础色信息,得到调整后的片元的颜色信息;
渲染模块,用于基于所述片元的颜色信息,对所述片元对应的像素进行渲染。
10.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-8任一项所述的模型的渲染方法。
11.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1-8任一项所述的模型的渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210031542.XA CN114549732A (zh) | 2022-01-12 | 2022-01-12 | 模型的渲染方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210031542.XA CN114549732A (zh) | 2022-01-12 | 2022-01-12 | 模型的渲染方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114549732A true CN114549732A (zh) | 2022-05-27 |
Family
ID=81671833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210031542.XA Pending CN114549732A (zh) | 2022-01-12 | 2022-01-12 | 模型的渲染方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114549732A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116824028A (zh) * | 2023-08-30 | 2023-09-29 | 腾讯科技(深圳)有限公司 | 图像着色方法、装置、电子设备、存储介质及程序产品 |
-
2022
- 2022-01-12 CN CN202210031542.XA patent/CN114549732A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116824028A (zh) * | 2023-08-30 | 2023-09-29 | 腾讯科技(深圳)有限公司 | 图像着色方法、装置、电子设备、存储介质及程序产品 |
CN116824028B (zh) * | 2023-08-30 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 图像着色方法、装置、电子设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112215934B (zh) | 游戏模型的渲染方法、装置、存储介质及电子装置 | |
CN108470369B (zh) | 一种水面渲染方法及装置 | |
US7557812B2 (en) | Multilevel texture processing method for mapping multiple images onto 3D models | |
CN111508052B (zh) | 三维网格体的渲染方法和装置 | |
CN110248242B (zh) | 一种图像处理和直播方法、装置、设备和存储介质 | |
CN101082992A (zh) | 实时高动态范围图像的绘制和显示方法 | |
CN111968216A (zh) | 一种体积云阴影渲染方法、装置、电子设备及存储介质 | |
US20230230311A1 (en) | Rendering Method and Apparatus, and Device | |
CN111127576A (zh) | 游戏画面的渲染方法、装置及电子设备 | |
US20150339852A1 (en) | Graphics processing systems | |
CN111402373A (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN114549732A (zh) | 模型的渲染方法、装置及电子设备 | |
CN112516595B (zh) | 岩浆渲染方法、装置、设备和存储介质 | |
CN110969688B (zh) | 一种实景三维模型实时匀色方法 | |
CN116012512A (zh) | 泡沫效果的渲染方法、渲染装置、电子设备、存储介质 | |
US20230410406A1 (en) | Computer-readable non-transitory storage medium having image processing program stored therein, image processing apparatus, image processing system, and image processing method | |
CN113436306B (zh) | 图像的渲染方法、装置及存储介质 | |
CN115700775A (zh) | 虚拟场景的渲染方法、装置和电子设备 | |
CN117218270A (zh) | 过渡区域的渲染方法、装置、电子设备及存储介质 | |
CN115984438A (zh) | 草地模型的渲染方法、装置及电子设备 | |
CN116485972A (zh) | 模型的渲染方法、装置和电子设备 | |
CN115641402A (zh) | 水体渲染方法、装置和电子设备 | |
CN116894908A (zh) | 光束效果的渲染方法、装置和电子设备 | |
CN118115643A (zh) | 游戏动画的制作方法及装置、存储介质、终端 | |
CN115797539A (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 |