CN116310052A - 基于多光源的画面渲染方法及相关设备 - Google Patents
基于多光源的画面渲染方法及相关设备 Download PDFInfo
- Publication number
- CN116310052A CN116310052A CN202211092359.7A CN202211092359A CN116310052A CN 116310052 A CN116310052 A CN 116310052A CN 202211092359 A CN202211092359 A CN 202211092359A CN 116310052 A CN116310052 A CN 116310052A
- Authority
- CN
- China
- Prior art keywords
- light source
- rendering
- image
- rendered
- result
- 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
- G06T15/506—Illumination models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/02—Non-photorealistic rendering
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B20/00—Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps
- Y02B20/40—Control techniques providing energy savings, e.g. smart controller or presence detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本申请提供一种基于多光源的画面渲染方法及相关设备。其中,方法包括:获取多光源的数据信息,以及待渲染图像;确定多光源的数据信息中的至少一个目标光源数据;利用目标光源数据按照预先设定的多个级别渲染策略对待渲染图像进行多次渲染得到多个分级渲染结果,对得到的多个分级渲染结果按照预设规则进行加和,得到加和结果,其中,每个级别渲染策略对应得到一个分级渲染结果,每个目标光源数据对应得到多个分级渲染结果;响应于确定至少一个目标光源数据全部渲染完成,将各个目标光源数据对应的加和结果进行叠加,得到待渲染图像的叠加渲染结果。通过对图像进行分级渲染保证光照渲染的多样化需求。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种基于多光源的画面渲染方法及相关设备。
背景技术
画面的光照渲染很多是基于真实光照效果的靠近与模拟,模拟过程中都是需要遵循光的直线传播的规律,因此都是物体表面法线朝向光源位置的区域是亮部,背光朝向是暗部,通过这种方式进行光照渲染。
但是,现有技术的光照渲染都是根据一个光源或者多个光源对图像中的物体进行分布渲染,渲染的结果往往不能满足美化的需求。
发明内容
有鉴于此,本申请的目的在于提出一种基于多光源的画面渲染方法及相关设备以解决或部分解决上述技术问题。
基于上述目的,本申请的第一方面提供了一种基于多光源的画面渲染方法,包括:
获取多光源的数据信息,以及待渲染图像;
确定所述多光源的数据信息中的至少一个目标光源数据;
利用所述目标光源数据按照预先设定的多个级别渲染策略对所述待渲染图像进行多次渲染得到多个分级渲染结果,对得到的多个分级渲染结果按照预设规则进行加和,得到加和结果,其中,每个级别渲染策略对应得到一个分级渲染结果,每个目标光源数据对应得到多个分级渲染结果;
响应于确定至少一个所述目标光源数据全部渲染完成,将各个所述目标光源数据对应的加和结果进行叠加,得到所述待渲染图像的叠加渲染结果。
基于同一个发明构思,本申请的第二方面提出了一种基于多光源的画面渲染装置,包括:
获取模块,用于获取多光源的数据信息,以及待渲染图像;
确定模块,用于确定所述多光源的数据信息中的至少一个目标光源数据;
渲染模块,用于利用所述目标光源数据按照预先设定的多个级别渲染策略对所述待渲染图像进行多次渲染得到多个分级渲染结果,对得到的多个分级渲染结果按照预设规则进行加和,得到加和结果,其中,每个级别渲染策略对应得到一个分级渲染结果,每个目标光源数据对应得到多个分级渲染结果;
叠加模块,用于确定至少一个所述目标光源数据全部渲染完成,将各个所述目标光源数据对应的加和结果进行叠加,得到所述待渲染图像的叠加渲染结果。
基于同一个发明构思,本申请的第三方面提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
基于同一个发明构思,本申请的第四方面提出了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行第一方面所述的方法。
从上面所述可以看出,本申请提供的基于多光源的画面渲染方法及相关设备,用户可以根据自己的需要对多光源进行调节,分别利用每个光源对待渲染图像进行分级渲染,这样每个光源对应得到多个分级渲染结果,进而保证了光照渲染的多样化,然后再按照预设规则将多个分级渲染结果加和,得到一个光源渲染后的加和结果,再将各个目标光源数据渲染后得到的加和结果叠加,就能得到需要的叠加渲染结果,满足用户对于画面渲染的美术需求,无需用户再进行其他复杂的处理操作,方便用户使用。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的应用场景示意图;
图2A为本申请实施例的基于多光源的画面渲染方法的流程图;
图2B为本申请实施例的亮度的空间转换的二维示意图;
图3为本申请实施例的基于多光源的画面渲染装置的结构框图;
图4为本申请实施例的电子设备的结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
基于上述背景技术的描述,相关技术中还存在如下的情况:
在光照渲染模拟中,一般采用定向光源进行光照渲染。定向光源(DirectionalLight)模拟从一个无限远无限大的源头处散发的光线。这意味着此光源投射出的阴影都是平行的,因此它非常适合模拟太阳光。定向光源上唯一可见的指示器是指向光线将传播方向的箭头。
除了最常见的平行光照射,渲染截最常用的几种光源模拟还有点光源、聚光灯光源。无论哪种光类型,都遵循光是直线传播的规律,因此都物体表面法线朝向光源位置的区域是亮部,背光部分是暗部。
虽然精度光照模型对于绝大多数情况都适用,但对于目前风格类型丰富的NPR(Non-photorealistic rendering,非真实感绘制)渲染、尤其是NPR角色的表现上,就会体现出诸多不适应性。
除了非现实的光影概括,为了对明暗区域有所控制,美术师们还设计了众多方案回避不好的阴影造型,尤其是脸部。
针对漫反射部分:有的用修改法线方式来改善受光区域形状,有的借用SDF(SDF即一种图形格式)图信息来自主定义明暗变化的区域。归纳下来,共同的目的是避免经典光照模型的照射效果。
相关技术中探讨的都是主要光源照射下的处理方案,而NPR多光源应设计何种方案却尚未见到明确的思路。多光源光照的效果上,基本只有如下几种:
1、继续用经典光照;
2、经典光照转二阶化;
3、整体覆盖纯色等较弱的表现方案。
因此,对于美术常常提出的需求,始终没有一个系统、易用的方案。
例如,CG(Computer-generated)动画或游戏渲染片的图,这些图的特点是,灯光经过讲究的设计摆放,有专业的灯光师提供打光位置的指导,并逐个画面调整修正。这类特定角度下可以得到美术较喜欢的多光源光照表现,但是,在实时游戏中,动态灯光的应用非常不可预计,光源的位置经常取决于技能释放的位置,因此不确定的光照位置照射不出讲究的受光角度。
基于上述描述的情况,下面参考本申请的若干代表性实施方式,详细阐释本申请的原理和精神。
本申请提供了一种基于多光源的画面渲染方法及相关设备,能够分别利用每个光源对待渲染图像进行分级渲染,这样每个光源对应得到多个分级渲染结果,进而保证了光照渲染的多样化,然后再按照预设规则将多个分级渲染结果加和,得到一个光源渲染后的加和结果,再将各个目标光源数据渲染后得到的加和结果叠加,就能得到需要的叠加渲染结果。这样用户可以根据自己的需要对多光源进行调节,并基于分级渲染满足用户对于画面渲染的美术需求,无需用户再进行其他复杂的处理操作,方便用户使用。
参考图1,其为本申请实施例提供的基于多光源的画面渲染方法的应用场景示意图。该应用场景包括终端设备101、服务器102、和数据存储系统103。其中,终端设备101、服务器102以及数据存储系统103之间均可通过有线或无线的通信网络连接。终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备视、个人数字助理(personal digital assistant,PDA)或其它能够实现上述功能的电子设备等。服务器102和数据存储系统103均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
服务器102用于向终端设备101的用户提供画面渲染服务,终端设备101中安装有与服务器102通信的客户端,用户可以通过客户端向服务器102发送画面渲染所需的多光源的数据信息和待渲染图像。服务器102从所述多光源的数据信息中筛选得到至少一个目标光源数据,对所述待渲染图像进行分级渲染,对得到的多个分级渲染结果按照预设规则进行加和,得到加和结果,不断更换目标光源数据重复上述过程,直至所有光源数据全部完成渲染过程,将各个光源数据对应的加和结果进行叠加,得到所述待渲染图像的叠加渲染结果,将叠加渲染结果发送至终端设备101中呈现给用户。数据存储系统103为服务器102的工作运行提供数据存储支持,例如用于存储执行上述过程的代码程序,以及对多光源的数据信息和待渲染图像以及渲染过程中得到的临时数据进行存储。
下面结合图1的应用场景,来描述根据本申请示例性实施方式的基于多光源的画面渲染方法。需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
本专利提出了一套基于多光源的画面渲染方法。主要应用于服务器中,用户可以根据自己的需要对多光源进行调节,分别利用每个光源对待渲染图像进行分级渲染,这样每个光源对应得到多个分级渲染结果,进而保证了光照渲染的多样化,然后再按照预设规则将多个分级渲染结果加和,得到一个光源渲染后的加和结果,再将各个目标光源数据渲染后得到的加和结果叠加,就能得到需要的叠加渲染结果,满足用户对于画面渲染的美术需求,无需用户再进行其他复杂的处理操作,方便用户使用。
本申请实施例提供了一种基于多光源的画面渲染方法,能够对图像的画面进行光照渲染。
如图2A所示,基于上述各个应用场景,该方法可以应用于服务器也可以应用于计算机设备中,具体执行过程包括:
步骤201,获取多光源的数据信息,以及待渲染图像。
具体实施时,用户可以根据自己的需要对光源进行选择或者设置,具体可以设置光源的数量、位置、光照强度、发光的颜色、发光形式中的至少一项,用户设置完成后,根据用户的设置,获取各个光源对应的数据信息。将各个光源对应的数据信息存储在数据库中。
其中,可以先获取多光源的数据信息,再获取待渲染图像,也可以是先获取待渲染图像,再获取多光源的数据信息,也可以二者同时获取。具体顺序可以根据实际情况进行改变,这里不作具体限定。
在一些实施例中,所述多光源的类型包括下列至少之一:定向光源、点光源和聚光源。具体可以是,多光源均是其中一种,多光源也可以是上述三种的其中两种的混合,多光源也可以是上述三种的混合。
在一些实施例中,所述待渲染图像为NPR图像。本实施例优选对卡通动漫或者游戏动漫人物进行光源渲染。
步骤202,确定所述多光源的数据信息中的至少一个目标光源数据。
具体实施时,可以将筛选得到的至少一个目标光源数据组成一个队列,按照下述步骤的过程进行渲染,每渲染完成一个,就将渲染完成的目标光源数据从队列中删除。这样当该队列为空时,就证明所有的目标光源数据全部渲染完成了。
在一些实施例中,步骤202包括:
步骤2021,确定所述待渲染图像的像素信息。
步骤2022,获取所述多光源的数据信息中每个光源的光源照射范围。
步骤2023,将所述像素信息与各个所述光源照射范围进行匹配。
步骤2024,将所述像素信息在所述光源照射范围内对应的光源的数据信息作为目标光源数据。
具体实施时,确定待渲染图像与各个光源的光源照射范围进行匹配,将确定待渲染图像的全部或者部分在相应的光源照射范围内的光源的数据信息作为目标光源数据,并进入下述步骤203开始进行渲染。对于不在光源照射范围内的光源的数据信息直接停止渲染过程。
步骤203,利用所述目标光源数据按照预先设定的多个级别渲染策略对所述待渲染图像进行多次渲染得到多个分级渲染结果,对得到的多个分级渲染结果按照预设规则进行加和,得到加和结果,其中,每个级别渲染策略对应得到一个分级渲染结果,每个目标光源数据对应得到多个分级渲染结果。
具体实施时,对应的分级渲染具体的分级数量,以及不同级别的渲染策略可以预先制定。本实施例优选分为两级分别为重要光源渲染和次要光源渲染。
每一级渲染后都可以得到一个分级渲染结果,不同级别的渲染可以同时进行也可以有序进行,本实施例为了加快处理速度,优选为同时进行渲染。对应的预设规则可以是:将各个分级渲染结果按照对应的预设比例(或者预设百分系数)进行加和,各个分级渲染结果乘以对应的权重系数后再进行加和。
按照预设比例进行加和的方式包括:将得到的各个分级渲染结果分别乘以对应级别的预设比例值后进行加和,进而得到加和结果。其中预设比例值用户可以根据光源的实际情况,以及光照渲染的情况进行设定,也就是说每个光源可以设置相同的预设比例值,也可以设置不同的预设比例值。例如,针对重要光源渲染的渲染结果A乘以60%,针对次要光源渲染的渲染结果B乘以40%,这样最终的加和结果为A*60%+B*40%。得到加和结果之后,可以将加和结果发送至显示界面进行显示,并且用户可以根据实际显示情况,对预设比例值进行修改和调整。
在一些实施例中,步骤203包括:
步骤2030,确定所述目标光源数据中的光源色彩值,根据预设的重要转换参数或次要转换参数,对所述光源色彩值进行亮度值的空间转换处理,分别得到重要光源颜色值或次要光源颜色值。
具体实施时,重要转换参数以及次要转换参数的具体数值,用户可以根据实际光照渲染需要进行预先设定。这两个参数用于进行亮度值的空间转换处理,保证光源的亮度极限值不会过渡曝光,影响光照渲染结果。
在一些实施例中,该步骤2030具体包括:
步骤20301,将所述目标光源数据中的光源颜色数据转换成HSV(色相Hue、饱和度Saturation、亮度Value)色彩值。
其中,光源颜色数据为RGB(Red红色,Green绿色,Blue蓝色)色彩数据。将RGB色彩数据按照预设的转换算法转换为HSV色彩值,这样利用HSV能够方便后续的亮度空间转换。
步骤20302,根据预设的重要转换参数确定相应的第一转换函数,或根据预设的次要转换参数确定相应的第二转换函数。
具体实施时,重要转换参数或者次要转换参数可以是亮度值的空间转换的极限值(例如,设定为2),这样对应确定的第一转换函数或第二转换函数对应的曲线图像会无限趋近该极限值但是不会超过该极限值。进而保证光照渲染不会出现亮度太高过度曝光的情况。
步骤20303,对所述HSV色彩值中的亮度信息,分别按照所述第一转换函数或所述第二转换函数进行亮度值的空间转换,得到重要HSV色彩值或次要HSV色彩值。
具体实施时,可以采用下述的程序算法进行亮度值的空间转换:
根据上述程序对应呈现的亮度转换图如图2B所示,图中横坐标和纵坐标均是亮度值,直线为转换前的亮度直线,曲线为进行亮度值的空间转换后的亮度曲线,由亮度曲线可知,该亮度曲线随着亮度值的增加,转换后的亮度值不断的趋近于2,但是不会超过2。
这样将HSV色彩值中的亮度值按照第一转换函数或第二转换函数分别进行转换后,再替换HSV中原有的亮度值,进而得到重要HSV色彩值和次要HSV色彩值。
步骤20304,将所述重要HSV色彩值或所述次要HSV色彩值进行颜色转换,转换为重要光源颜色值或次要光源颜色值。
具体实施时,将得到的重要HSV色彩值和次要HSV色彩值转换回RGB色彩数据(即,重要光源颜色值或次要光源颜色值),这样能够保持色彩应有的色相和饱和度。
通过上述方案,能够完成亮度值的空间转换过程,使得重要光源以及次要光源对应的亮度始终不会超过相应的极限值,使得各个光源的光线都比较柔和,避免光源渲染时出现亮度太高过度曝光的情况,进一步保证光源渲染的美术效果。
步骤2031,利用所述目标光源数据按照重要光源处理策略对所述待渲染图像进行重要光源渲染处理,得到第一渲染结果。
具体实施时,开始时并没有区分目标光源数据的类型,因此,针对目标光源数据可以同时或者按序进行重要光源渲染处理过程以及次要光源渲染处理过程。本实施例为了保证光源渲染处理的速度,两个光源渲染过程选择同时进行。
在一些实施例中,步骤2031重要光源渲染处理过程具体包括:
步骤20311,根据所述目标光源数据确定目标光源的法线以及目标光源的光源方向。
其中,目标光源的法线可以根据目标光源的位置以及发光范围进行确定。目标光源的光源方向即为该目标光源的光线方向。
步骤20312,确定所述目标光源的法线与所述目标光源的光源方向的相对角。
步骤20313,依据所述相对角确定所述待渲染图像的明面图像和暗面图像。
具体实施时,从待渲染图像中确定人物、动物、植物以及物体作为渲染对象,对应渲染对象用户可以指定也可以自动选择。如果是自动选择,就会将所有能够渲染的渲染对象全部选中。如果是用户选择,可以从这些渲染对象中指定至少一类(例如,人物),也可以从渲染对象中进行手动选定。具体可以根据实际需要进行设置或者选择,对于选中的渲染对象还可以更改调整。
确定好渲染对象之后,根据上述步骤得到的相对角,以及渲染对应的位置,确定渲染对象的明面和暗面,将所有渲染对象的明面组合在一起,组成明面图像,将所有渲染对象的暗面组合在一起,组成暗面图像。
步骤20314,将所述明面图像的基础颜色与所述重要光源颜色值相乘,得到所述第一渲染结果。
具体实施时,将明面图像的各个像素点的基础颜色(例如,RGB值)与重要光源颜色值相乘,将相乘后得到的像素点组合形成第一渲染结果。
通过上述方案,能够完成重要光源渲染的过程,对于重要光源需要进行主体的明面渲染,进而使得明面在重要光源的作用下完成提亮色彩的目的。
步骤2032,利用所述目标光源数据按照次要光源处理策略对所述待渲染图像进行次要光源渲染处理,得到第二渲染结果。
具体实施时,次要光源渲染主要是针对一些需要提亮的边缘进行色彩提亮,进而使得边缘处的颜色不至于被其他光源掩盖,进而提升整体图像的美观效果。
在一些实施例中,步骤2032包括:
步骤20321,根据所述目标光源数据确定目标光源的视角空间的方向。
在一些实施例中,所述视角空间的方向包括下列至少之一:上视角方向、下视角方向、左视角方向和右视角方向。
具体实施时,由于图像本身的视角就是分为上、下、左、右四个方向,因此也将次要光源渲染所需的目标光源的视角空间确定为这四个方向,这样就可以将整个待渲染图像划分成四部分。
步骤20322,根据所述视角空间的方向,在所述待渲染图像中确定能够进行次要光源渲染的边缘范围。
具体实施时,可以根据上述得到的四个方向,分别确定各个方向上的边缘范围,例如,选定方向末端的预定面积内的图像作为边缘范围。并将各个方向确定的边缘范围进行整合在一起。
步骤20323,将所述边缘范围的基础颜色与所述次要光源颜色值相乘,得到所述第二渲染结果。
具体实施时,将边缘范围的各个像素点的基础颜色(例如,RGB值)与次要光源颜色值相乘,将相乘后得到的像素点组合形成第二渲染结果。
通过上述方案,能够完成次要光源渲染的过程,对于次要光源需要对图像进行边缘渲染,进而使得图像在次要光源的作用下边缘处的图像能够提亮色彩。
步骤2033,对所述第一渲染结果和所述第二渲染结果按照预设规则进行加和,得到加和结果。
其中,预设规则可以根据实际需要进行预先设定,也可以在得到第一渲染结果和第二渲染结果后,将二者分别进行显示,用户可以基于显示结果再设定相应的预设规则。例如设定的预设规则为第一渲染结果选择50%,第二渲染结果选择50%,这样将第一渲染结果乘以50%,第二渲染结果乘以50%,之后二者再相加得到加和结果。
另外,步骤2031和步骤2032没有具体的先后顺序,可以同时进行,也可以有序进行,这里不作具体限定。
步骤204,响应于确定至少一个所述目标光源数据全部渲染完成,将各个所述目标光源数据对应的加和结果进行叠加,得到所述待渲染图像的叠加渲染结果。
在一些实施例中,方法还包括:
步骤205,如果存在主光源,则将叠加渲染结果与主光源渲染后得到的主光渲染结果进行累加,进而得到最终渲染结果,如果不存在主光源,则直接将叠加结果作为最终渲染结果。
步骤205,具体包括:
步骤2051,响应于确定所述多光源的数据信息中存在主光源数据。
步骤2052,利用所述主光源数据对所述待渲染图像进行主光渲染,得到主光渲染结果。
步骤2053,将所述主光渲染结果与所述叠加渲染结果进行累加,得到累加结果。
步骤2054,对所述累加结果进行亮度值空间转换得到所述待渲染图像的最终渲染结果。
其中,主光源类型包括下列至少之一:定向光源、点光源和聚光源。一般为了模仿太阳光,优选主光源为定向光源。
主光源用于对图像整体进行渲染,提亮程度比较高,重要光源比主光源的渲染效果小一些,用于协助主光源对图像整体进行提亮,次光源主要用于进行边缘范围的渲染,提亮效果最小。这样通过上述方案,能够将三种光源渲染结果累加后得到最终的渲染结果,使得图像整体渲染效果更好,并且,各个光源的渲染比例、光照强度以及渲染范围等都可以进行设置和调整,进而使得最终得到的渲染结果更加美观,使用简单方便。
通过上述各实施例的方案,用户可以根据自己的需要对多光源进行调节,分别利用每个光源对待渲染图像进行分级渲染,这样每个光源对应得到多个分级渲染结果,进而保证了光照渲染的多样化,然后再按照预设规则将多个分级渲染结果加和,得到一个光源渲染后的加和结果,再将各个目标光源数据渲染后得到的加和结果叠加,就能得到需要的叠加渲染结果,满足用户对于画面渲染的美术需求,无需用户再进行其他复杂的处理操作,方便用户使用。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例的基于多光源的画面渲染方法相对应的,本申请还提供了一种基于多光源的画面渲染装置。
参考图3,该装置包括:
获取模块31,用于获取多光源的数据信息,以及待渲染图像;
确定模块32,用于确定所述多光源的数据信息中的至少一个目标光源数据;
渲染模块33,用于利用所述目标光源数据按照预先设定的多个级别渲染策略对所述待渲染图像进行多次渲染得到多个分级渲染结果,对得到的多个分级渲染结果按照预设规则进行加和,得到加和结果,其中,每个级别渲染策略对应得到一个分级渲染结果,每个目标光源数据对应得到多个分级渲染结果;
叠加模块34,用于确定至少一个所述目标光源数据全部渲染完成,将各个所述目标光源数据对应的加和结果进行叠加,得到所述待渲染图像的叠加渲染结果。
在一些实施例中,渲染模块33包括:
重要光源渲染单元,用于利用所述目标光源数据按照重要光源处理策略对所述待渲染图像进行重要光源渲染处理,得到第一渲染结果;以及
次要光源渲染单元,用于利用所述目标光源数据按照次要光源处理策略对所述待渲染图像进行次要光源渲染处理,得到第二渲染结果;
加和单元,用于将所述第一渲染结果和所述第二渲染结果按照预设规则进行加和,得到加和结果。
在一些实施例中,重要光源渲染单元具体用于:
根据所述目标光源数据确定目标光源的法线以及目标光源的光源方向;确定所述目标光源的法线与所述目标光源的光源方向的相对角;依据所述相对角确定所述待渲染图像的明面图像和暗面图像;将所述明面图像的基础颜色与重要光源颜色值相乘,得到所述第一渲染结果。
在一些实施例中,次要光源渲染单元具体用于:
根据所述目标光源数据确定目标光源的视角空间的方向;根据所述视角空间的方向,在所述待渲染图像中确定能够进行次要光源渲染的边缘范围;将所述边缘范围的基础颜色与次要光源颜色值相乘,得到所述第二渲染结果。
在一些实施例中,渲染模块33还包括:
亮度转换处理单元,用于确定所述目标光源数据中的光源色彩值,根据预设的重要转换参数或次要转换参数,对所述光源色彩值进行亮度值的空间转换处理,分别得到重要光源颜色值或次要光源颜色值。
在一些实施例中,亮度转换处理单元具体用于:
将所述目标光源数据中的光源颜色数据转换成HSV色彩值;根据预设的重要转换参数确定相应的第一转换函数,或根据预设的次要转换参数确定相应的第二转换函数;对所述HSV色彩值中的亮度信息,分别按照所述第一转换函数或所述第二转换函数进行亮度值的空间转换,得到重要HSV色彩值或次要HSV色彩值;将所述重要HSV色彩值或所述次要HSV色彩值进行颜色转换,转换为重要光源颜色值或次要光源颜色值。
在一些实施例中,确定模块32包括:
像素确定单元,用于确定所述待渲染图像的像素信息;
照射范围获取单元,用于获取所述多光源的数据信息中每个光源的光源照射范围;
范围匹配单元,用于将所述像素信息与各个所述光源照射范围进行匹配;
目标光源确定单元,用于将所述像素信息在所述光源照射范围内对应的光源的数据信息作为目标光源数据。
在一些实施例中,装置还包括:主光渲染结果累加模块,用于:
响应于确定所述多光源的数据信息中存在主光源数据;利用所述主光源数据对所述待渲染图像进行主光渲染,得到主光渲染结果;将所述主光渲染结果与所述叠加渲染结果进行累加,得到累加结果;对所述累加结果进行亮度值空间转换得到所述待渲染图像的最终渲染结果。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的方法。
图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器410、存储器420、输入/输出接口430、通信接口440和总线450。其中处理器410、存储器420、输入/输出接口430和通信接口440通过总线450实现彼此之间在设备内部的通信连接。
处理器410可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器420可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器420可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器420中,并由处理器410来调用执行。
输入/输出接口430用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线450包括一通路,在设备的各个组件(例如处理器410、存储器420、输入/输出接口430和通信接口440)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器410、存储器420、输入/输出接口430、通信接口440以及总线450,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的基于多光源的画面渲染方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的基于多光源的画面渲染方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种基于多光源的画面渲染方法,其特征在于,包括:
获取多光源的数据信息,以及待渲染图像;
确定所述多光源的数据信息中的至少一个目标光源数据;
利用所述目标光源数据按照预先设定的多个级别渲染策略对所述待渲染图像进行多次渲染得到多个分级渲染结果,对得到的多个分级渲染结果按照预设规则进行加和,得到加和结果,其中,每个级别渲染策略对应得到一个分级渲染结果,每个目标光源数据对应得到多个分级渲染结果;
响应于确定至少一个所述目标光源数据全部渲染完成,将各个所述目标光源数据对应的加和结果进行叠加,得到所述待渲染图像的叠加渲染结果。
2.根据权利要求1所述的方法,其特征在于,所述利用所述目标光源数据按照预先设定的多个级别渲染策略对所述待渲染图像进行多次渲染得到多个分级渲染结果,对得到的多个分级渲染结果按照预设规则进行加和,得到加和结果,包括:
利用所述目标光源数据按照重要光源处理策略对所述待渲染图像进行重要光源渲染处理,得到第一渲染结果;以及
利用所述目标光源数据按照次要光源处理策略对所述待渲染图像进行次要光源渲染处理,得到第二渲染结果;
将所述第一渲染结果和所述第二渲染结果按照预设规则进行加和,得到加和结果。
3.根据权利要求2所述的方法,其特征在于,所述利用所述目标光源数据按照重要光源处理策略对所述待渲染图像进行重要光源渲染处理,得到第一渲染结果,包括:
根据所述目标光源数据确定目标光源的法线以及目标光源的光源方向;
确定所述目标光源的法线与所述目标光源的光源方向的相对角;
依据所述相对角确定所述待渲染图像的明面图像和暗面图像;
将所述明面图像的基础颜色与重要光源颜色值相乘,得到所述第一渲染结果。
4.根据权利要求2所述的方法,其特征在于,所述利用所述目标光源数据按照次要光源处理策略对所述待渲染图像进行次要光源渲染处理,得到第二渲染结果,包括:
根据所述目标光源数据确定目标光源的视角空间的方向;
根据所述视角空间的方向,在所述待渲染图像中确定能够进行次要光源渲染的边缘范围;
将所述边缘范围的基础颜色与次要光源颜色值相乘,得到所述第二渲染结果。
5.根据权利要求4所述的方法,其特征在于,所述视角空间的方向包括下列至少之一:
上视角方向、下视角方向、左视角方向和右视角方向。
6.根据权利要求3或4所述的方法,其特征在于,所述重要光源颜色值或所述次要光源颜色值的确定过程包括:
确定所述目标光源数据中的光源色彩值,根据预设的重要转换参数或次要转换参数,对所述光源色彩值进行亮度值的空间转换处理,得到重要光源颜色值或次要光源颜色值。
7.根据权利要求6所述的方法,其特征在于,所述确定所述目标光源数据中的光源色彩值,根据预设的重要转换参数或次要转换参数,对所述光源色彩值进行亮度值的空间转换处理,得到重要光源颜色值或次要光源颜色值,包括:
将所述目标光源数据中的光源颜色数据转换成HSV色彩值;
根据预设的重要转换参数确定相应的第一转换函数,或根据预设的次要转换参数确定相应的第二转换函数;
对所述HSV色彩值中的亮度信息,分别按照所述第一转换函数或所述第二转换函数进行亮度值的空间转换,得到重要HSV色彩值或次要HSV色彩值;
将所述重要HSV色彩值或所述次要HSV色彩值进行颜色转换,转换为重要光源颜色值或次要光源颜色值。
8.根据权利要求1所述的方法,其特征在于,所述确定所述多光源的数据信息中的至少一个目标光源数据包括:
确定所述待渲染图像的像素信息;
获取所述多光源的数据信息中每个光源的光源照射范围;
将所述像素信息与各个所述光源照射范围进行匹配;
将所述像素信息在所述光源照射范围内对应的光源的数据信息作为目标光源数据。
9.根据权利要求1所述的方法,其特征在于,还包括:
响应于确定所述多光源的数据信息中存在主光源数据;
利用所述主光源数据对所述待渲染图像进行主光渲染,得到主光渲染结果;
将所述主光渲染结果与所述叠加渲染结果进行累加,得到累加结果;
对所述累加结果进行亮度值空间转换得到所述待渲染图像的最终渲染结果。
10.一种基于多光源的画面渲染装置,其特征在于,包括:
获取模块,用于获取多光源的数据信息,以及待渲染图像;
确定模块,用于确定所述多光源的数据信息中的至少一个目标光源数据;
渲染模块,用于利用所述目标光源数据按照预先设定的多个级别渲染策略对所述待渲染图像进行多次渲染得到多个分级渲染结果,对得到的多个分级渲染结果按照预设规则进行加和,得到加和结果,其中,每个级别渲染策略对应得到一个分级渲染结果,每个目标光源数据对应得到多个分级渲染结果;
叠加模块,用于确定至少一个所述目标光源数据全部渲染完成,将各个所述目标光源数据对应的加和结果进行叠加,得到所述待渲染图像的叠加渲染结果。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至9任意一项所述的方法。
12.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使计算机执行如权利要求1至9任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211092359.7A CN116310052A (zh) | 2022-09-07 | 2022-09-07 | 基于多光源的画面渲染方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211092359.7A CN116310052A (zh) | 2022-09-07 | 2022-09-07 | 基于多光源的画面渲染方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116310052A true CN116310052A (zh) | 2023-06-23 |
Family
ID=86778431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211092359.7A Pending CN116310052A (zh) | 2022-09-07 | 2022-09-07 | 基于多光源的画面渲染方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116310052A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116883572A (zh) * | 2023-09-06 | 2023-10-13 | 腾讯科技(深圳)有限公司 | 一种渲染方法、装置、设备及计算机可读存储介质 |
-
2022
- 2022-09-07 CN CN202211092359.7A patent/CN116310052A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116883572A (zh) * | 2023-09-06 | 2023-10-13 | 腾讯科技(深圳)有限公司 | 一种渲染方法、装置、设备及计算机可读存储介质 |
CN116883572B (zh) * | 2023-09-06 | 2023-12-19 | 腾讯科技(深圳)有限公司 | 一种渲染方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2622406T3 (es) | Métodos y aparatos para determinar datos de muestreo de alta calidad a partir de datos de muestreo de baja calidad | |
CN112215934A (zh) | 游戏模型的渲染方法、装置、存储介质及电子装置 | |
US9483815B2 (en) | Systems and methods for computational lighting | |
CN112116692A (zh) | 模型渲染方法、装置、设备 | |
US11615575B2 (en) | Methods and systems for constructing a shader | |
KR102173546B1 (ko) | 게임 객체 렌더링 방법 및 장치 | |
US20240005592A1 (en) | Image rendering method and apparatus, device, and storage medium | |
CN116310052A (zh) | 基于多光源的画面渲染方法及相关设备 | |
US20230125255A1 (en) | Image-based lighting effect processing method and apparatus, and device, and storage medium | |
CN111784817B (zh) | 阴影的展示方法和装置、存储介质、电子装置 | |
CN112862943A (zh) | 虚拟模型渲染方法、装置、存储介质及电子设备 | |
CN115984449A (zh) | 一种光照渲染方法、装置、电子设备及存储介质 | |
CN113888398B (zh) | 头发渲染方法、装置及电子设备 | |
CN111340684B (zh) | 一种游戏中图形处理的方法和装置 | |
CN113610955A (zh) | 一种对象渲染方法、装置及着色器 | |
CN111784814A (zh) | 一种虚拟角色皮肤调整方法和装置 | |
JP2007272847A (ja) | 照明シミュレーション方法及び画像合成方法 | |
Grebe-Ellis et al. | Soft shadow images | |
CN112473135B (zh) | 移动游戏的实时光照模拟方法、装置、设备及存储介质 | |
CN112446944B (zh) | 一种在ar场景中模拟真实环境光的方法和系统 | |
CN116030179B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN117424970A (zh) | 灯光控制方法、装置、移动终端及存储介质 | |
Mirbauer et al. | SkyGAN: Realistic Cloud Imagery for Image‐based Lighting | |
CN117726504A (zh) | 扩散效果的生成方法、装置、电子设备及存储介质 | |
Olajos et al. | Sparse Spatial Shading in Augmented Reality. |
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 |