CN107644453B - 一种基于物理着色的渲染方法及*** - Google Patents

一种基于物理着色的渲染方法及*** Download PDF

Info

Publication number
CN107644453B
CN107644453B CN201710777504.8A CN201710777504A CN107644453B CN 107644453 B CN107644453 B CN 107644453B CN 201710777504 A CN201710777504 A CN 201710777504A CN 107644453 B CN107644453 B CN 107644453B
Authority
CN
China
Prior art keywords
color
value
pixel point
calculating
vector
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
CN201710777504.8A
Other languages
English (en)
Other versions
CN107644453A (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.)
Chengdu Topplusvision Science & Technology Co ltd
Original Assignee
Chengdu Topplusvision Science & Technology 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 Chengdu Topplusvision Science & Technology Co ltd filed Critical Chengdu Topplusvision Science & Technology Co ltd
Priority to CN201710777504.8A priority Critical patent/CN107644453B/zh
Publication of CN107644453A publication Critical patent/CN107644453A/zh
Application granted granted Critical
Publication of CN107644453B publication Critical patent/CN107644453B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

本发明公开了一种基于物理着色的渲染方法及***,该方法包括:利用材质底色以及漫反射系数计算对应物体各像素点的漫反射颜色;计算各像素点的环境纹理值、徼表面遮蔽项值以及菲涅尔效应系数;根据环境纹理值、徼表面遮蔽项值以及菲涅尔效应系数,计算各像素点的反射颜色;将漫反射颜色与反射颜色相加得到对应物体各像素点的最终颜色;解决了半透明材质的渲染耗时大的问题,能够实现快速渲染;同时能够对偏光材质进行渲染,渲染效果好,使得虚拟模型更加逼真。

Description

一种基于物理着色的渲染方法及***
技术领域
本发明涉及计算机图形学领域,特别涉及一种基于物理着色的渲染方法及***。
背景技术
随着三维可视化技术的发展,人们对虚拟现实的认知感越来越强。现实环境中物体呈现的光照效果会因物体材质的不同而不同,透明材质、半透明材质、不透明材质等的光学特性不一样,反射光和散射光的颜色组成特性不一样,因此渲染逼真的虚拟场景时必须考虑场景中各物体的材质属性。
近年来,对于次表面的渲染已经取得了一定的研究成果,例如借助解全辐射传递方程可以精确但费时地模拟次表面散射,光子映射方法来模拟全次表面散射来渲染雨花石。散射函数来模拟次表面散射。但是这些解全辐射传递方程的方法虽然可以模拟所有次表面散射视觉效果,但计算复杂度异常高。
基于物理的渲染(PBR)是一个近几年时常见诸于各大游戏行业技术交流、游戏开发商公关以及游戏媒体的渲染方法。目前人们所指的游戏中基于物理的渲染包括不少方面,例如线性空间,镜头模型,HDR等等。但是这些方式对次表面(尤其是半透明材质/偏光材质)散射渲染算法中存在耗时、耗内存、模拟效果不够好的缺点,因此,如何提高对半透明材质/偏光材质的渲染速度和渲染效果,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种基于物理着色的渲染方法及***,解决了次表面的渲染、偏光材质的渲染,渲染效果好,使得虚拟模型更加逼真;能够实现快速渲染。
为解决上述技术问题,本发明提供一种基于物理着色的渲染方法,所述方法包括:
利用材质底色以及漫反射系数计算对应物体各像素点的漫反射颜色;
计算各所述像素点的环境纹理值、微表面遮蔽项值以及菲涅尔效应系数;
根据所述环境纹理值、所述微表面遮蔽项值以及所述菲涅尔效应系数,计算对应物体各所述像素点的反射颜色;
将所述漫反射颜色与所述反射颜色相加得到对应物体各所述像素点的最终颜色。
可选的,所述利用材质底色以及漫反射系数计算对应物体各像素点的漫反射颜色,包括:
通过像素点的纹理坐标,确定各所述像素点对应的纹理RGB值;
将各所述像素点对应的纹理RGB值与对应的基本颜色值相乘,得到各所述像素点对应的背景颜色值;
根据所述纹理RGB值以及所述背景颜色值,利用能量守恒规则确定各所述像素点对应的材质底色;
将所述材质底色与对应漫反射系数相乘,得到对应物体各所述像素点的漫反射颜色。
可选的,所述计算各所述像素点的环境纹理值,包括:
获取规范化处理后的反射向量;
利用所述反射向量计算全境环境纹理坐标;
根据所述全境环境纹理坐标,采样获得当前各所述像素点的环境纹理值。
可选的,所述计算各所述像素点的微表面遮蔽项值,包括:
获取法向量与半角向量夹角NdotH、法向量与入射光向量夹角NdotL、法向量与视点向量夹角NdotV、视点向量与半角向量的夹角的余弦值VdotH、以及材质粗糙度数值gloss;
利用
Figure GDA0002809258010000021
计算各所述像素点的微表面遮蔽项值G;
其中,G'=G_Smith(a2,NdotL)*G_Smith(a2,max{e-8,NdotV});
其中,
Figure GDA0002809258010000022
Figure GDA0002809258010000031
cos为VdotH。
可选的,所述计算各所述像素点的菲涅尔效应系数,包括:
获取输入的对应物体的菲涅尔强度fresnelStrength;
利用fresnelWithOffset=(1-α)*reflectivity+α*(1.0,1.0,1.0)计算各所述像素点的菲涅尔效应系数fresnelWithOffset;
其中,α=(1-VdotH+offset)4*fresnelStrength,reflectivity为初始反射光颜色,offset为菲涅尔偏移量。
可选的,所述根据所述环境纹理值、所述微表面遮蔽项值以及所述菲涅尔效应系数,计算对应物体各所述像素点的反射颜色,包括:
利用specularLight=sampleCol*fresnelWithOffset*G计算对应物体各所述像素点的反射颜色specularLight;其中,sampleCol为环境纹理值。
本发明还提供一种基于物理着色的渲染***,所述***包括:
漫反射颜色计算模块,用于利用材质底色以及漫反射系数计算对应物体各像素点的漫反射颜色;
参数计算模块,用于计算各所述像素点的环境纹理值、微表面遮蔽项值以及菲涅尔效应系数;
反射颜色计算模块,用于根据所述环境纹理值、所述微表面遮蔽项值以及所述菲涅尔效应系数,计算对应物体各所述像素点的反射颜色;
最终颜色计算模块,用于将所述漫反射颜色与所述反射颜色相加得到对应物体各所述像素点的最终颜色。
可选的,所述参数计算模块包括:
环境纹理值计算单元,用于获取规范化处理后的反射向量;利用所述反射向量计算全境环境纹理坐标;根据所述全境环境纹理坐标,采样获得当前各所述像素点的环境纹理值。
可选的,所述参数计算模块包括:
微表面遮蔽项值计算单元,用于获取法向量与半角向量夹角NdotH、法向量与入射光向量夹角NdotL、法向量与视点向量夹角NdotV、视点向量与半角向量的夹角的余弦值VdotH、以及材质粗糙度数值gloss;利用
Figure GDA0002809258010000041
计算各所述像素点的微表面遮蔽项值G;
其中,G'=G_Smith(a2,NdotL)*G_Smith(a2,max{e-8,NdotV});
其中,
Figure GDA0002809258010000042
Figure GDA0002809258010000043
cos为VdotH。
可选的,所述参数计算模块包括:
菲涅尔效应系数计算单元,用于获取输入的对应物体的菲涅尔强度fresnelStrength;利用fresnelWithOffset=(1-α)*reflectivity+α*(1.0,1.0,1.0)计算各所述像素点的菲涅尔效应系数fresnelWithOffset;
其中,α=(1-VdotH+offset)4*fresnelStrength,reflectivity为初始反射光颜色,offset为菲涅尔偏移量。
本发明所提供的一种基于物理着色的渲染方法,包括:利用材质底色以及漫反射系数计算对应物体各像素点的漫反射颜色;计算各像素点的环境纹理值、微表面遮蔽项值以及菲涅尔效应系数;根据环境纹理值、微表面遮蔽项值以及菲涅尔效应系数,计算各像素点的反射颜色;将漫反射颜色与反射颜色相加得到对应物体各像素点的最终颜色;
可见,该方法解决了半透明材质的渲染耗时大的问题,能够实现快速渲染;同时能够对偏光材质进行渲染,渲染效果好,使得虚拟模型更加逼真;本发明还提供的一种基于物理着色的渲染***,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的基于物理着色的渲染方法的流程图;
图2为本发明实施例所提供的基于物理着色的渲染***的结构框图。
具体实施方式
本发明的核心是提供一种基于物理着色的渲染方法及***,解决了次表面的渲染、偏光材质的渲染,渲染效果好,使得虚拟模型更加逼真;能够实现快速渲染。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的基于物理着色的渲染方法的流程图;该方法可以包括:
S100、利用材质底色以及漫反射系数计算对应物体各像素点的漫反射颜色;
具体的,本实施例并不限定具体的计算漫反射颜色的方式,例如可以利用成熟的算法库中的算法来计算物体中各像素点的漫反射颜色,漫反射颜色由原本漫反射颜色和漫反射强度的乘积构成。进一步,为了提高计算得到的漫反射颜色的可靠性。可以例如如下方式计算对应物体各像素点的漫反射颜色:
通过像素点的纹理坐标,确定各像素点对应的纹理RGB值;
具体的,该步骤可以获取材质颜色,即通过像素点的纹理坐标,在纹理上查找该坐标下的纹理的RGB值。
将各像素点对应的纹理RGB值与对应的基本颜色值相乘,得到各像素点对应的背景颜色值;
具体的,背景颜色值bColor=textureColor*baseColor;其中,textureColor为纹理rgb值,baseColor为基本颜色值。textureColor即表面本身纹理,若没有textureColor则背景颜色值就是baseColor。
根据纹理rgb值以及背景颜色值,利用能量守恒规则确定各像素点对应的材质底色;
具体的,该步骤为了获取材质底色,根据能量守恒,能够保证入射光线能能量不小于反射光线能量。其中可以利用下述公式来计算材质底色albedo=albedo(x,y,z)-albedo(x,y,z)*reflectivity(x,y,z);其中,albedo(x,y,z)为初始材质底色,reflectivity(x,y,z)为初始反射光颜色。
将材质底色与对应漫反射系数相乘,得到对应物体各像素点的漫反射颜色。
具体的,本实施例计算得到的漫反射颜色为考虑了能量守恒的之后计算得到的漫反射颜色。可以利用公式diffusionLight=albedo*diffus计算得到漫反射颜色diffusionLight,其中,diffus为漫反射系数。
S110、计算各像素点的环境纹理值、微表面遮蔽项值以及菲涅尔效应系数;
具体的,本实施例由于考虑了对半透明材质/偏光材质的渲染速度和渲染效果,因此需要利用环境纹理值来提高渲染效率以及渲染结果逼真程度,微表面遮蔽项值来提高画面真实感,菲涅尔效应系数来获得偏光材质质感,相对于传统不能实现颜色随角度改变而改变的贴纹理方案,更加真实。本实施例并不限定上述几个数值的具体计算方式。计算上述几个参数的目的都是为了要计算反射颜色,反射颜色是入射光线的RGB颜色到达物体表面后反射的光线,反射光颜色和强度随着眼镜物体与表面法线的角度变化而变化,这个变化的度量由菲涅尔强度来控制,因此需要计算菲涅尔效应系数来获得偏光材质质感。用户可以根据实际需求以及硬件计算条件进行相应算法的选择。下面给出每个数值的一种优选计算方式。
优选的,计算各像素点的环境纹理值可以包括:
获取规范化处理后的反射向量;
具体的,本实施例并不限定反射向量获取的具体方式,例如利用成熟的算法库中的算法来获取像素点的反射向量。或者利用反射向量reflectDir由视点向量vertexEye的反射光线,反射向量reflectDir与视点向量vertexEye存在与法线的夹角相等的特性,由此特性可以根据视点向量和法向量计算反射向量reflectDir;并对计算反射向量reflectDir进行规范化处理。
利用反射向量计算全境环境纹理坐标;
具体的,本实施例并不限定全境环境纹理坐标获取的具体方式,例如利用如下公式计算全境环境纹理坐标(u,v):
Figure GDA0002809258010000071
Figure GDA0002809258010000072
其中,a是全境环境纹理坐标(u,v)对应原图像的横坐标。
根据全境环境纹理坐标,采样获得当前各像素点的环境纹理值。
具体的,采样方式可以为通过检测纹理图像的(u,v)坐标对应到原图像中的(u,v)坐标,然后将原图像中(u,v)坐标下对应的RGB颜色值赋值给纹理图像的(u,v)坐标。
优选的,计算各像素点的微表面遮蔽项值,包括:
获取法向量与半角向量夹角NdotH、法向量与入射光向量夹角NdotL、法向量与视点向量夹角NdotV、视点向量与半角向量的夹角的余弦值VdotH、以及材质粗糙度数值gloss;
其中,像素点的视点向量是相机像素位置到观察位置的向量,像素点的反射向量是视点向量相对于法线向量的镜像向量;法向量是当前像素所在平面的法线向量。在计算上述各个夹角数值之前,要现获取各个向量。本实施例并不限定各个向量的具体获取方式。
例如利用成熟的算法库中的算法来获取像素点的视点向量:视点向量是相机像素位置到观察位置的向量。半角向量的获取方式和法向量的获取方式相同,因为只进行一次采样,所以这次采样所用的半角向量和法向量相同。如果进行多次采样,那么每次采样时半角向量是以法向量为起点的随机分布向量。入射光向量利用公式L=(2*(vertexEye*H))*H-vertexEye获取。其中,vertexEye表示视点向量,表示当前像素点指向摄像头的向量;H表示半角向量。
具体的,本实施例并不限定NdotH、NdotL、NdotV以及VdotH获取的具体方式,例如:
法向量与半角向量夹角NdotH的获取方式可以如下:
Figure GDA0002809258010000081
其中,normal为一个常数。
法向量与入射光向量夹角NdotL的获取方式可以如下:
Figure GDA0002809258010000082
其中,normal为一个常数,L表示半角向量。
法向量与视点向量夹角NdotV的获取方式可以如下:
Figure GDA0002809258010000083
其中,normal为一个常数。
视点向量与半角向量的夹角的余弦值VdotH的获取方式可以如下:
Figure GDA0002809258010000084
其中,V表示视点向量。
材质粗糙度数值gloss具体计算公式为gloss=1-rough,其中,rough表示纹理粗糙度,是一个常数。
利用
Figure GDA0002809258010000085
计算各像素点的微表面遮蔽项值G;
其中,G'=G_Smith(a2,NdotL)*G_Smith(a2,max{e-8,NdotV});
其中,
Figure GDA0002809258010000091
a为变量名。
Figure GDA0002809258010000092
cos为VdotH。
具体的,根据微表面理论,物体表面可以看成由无数微表面组成的平面,微表面的粗糙度属性以及入射光方向决定了微表面对光线的遮蔽与吸收。微表面遮蔽项计算方式如下:
Figure GDA0002809258010000093
优选的,计算各像素点的菲涅尔效应系数,包括:
获取输入的对应物体的菲涅尔强度fresnelStrength;
利用fresnelWithOffset=(1-α)*reflectivity+α*(1.0,1.0,1.0)计算各像素点的菲涅尔效应系数fresnelWithOffset;
其中,α=(1-VdotH+offset)4*fresnelStrength,reflectivity为初始反射光颜色,offset为菲涅尔偏移量,是个常数。其中,菲涅尔强度对视点向量与半角向量之间的夹角的影响度:F=f4*fresnelStrength,其中,fresnelStrength为菲涅尔强度,是一个常数,用户可以根据实际物体的材质进行确定即用户根据不同材质来指定菲涅尔颜色值。f=1-cosθ+offset,其中,cosθ是视点向量与半角向量的点积。
S120、根据环境纹理值、微表面遮蔽项值以及菲涅尔效应系数,计算对应物体各像素点的反射颜色;
其中,本实施例之所以要计算环境纹理值、微表面遮蔽项值以及菲涅尔效应系数,并且利用它们计算得到反射颜色,是为了解决了次表面的渲染、偏光材质的渲染,渲染效果好,使得虚拟模型更加逼真;能够实现快速渲染。
即本实施例预先处理好不同模糊程度的HDR环境纹理(其中,HDR(High-DynamicRange)是一种照片处理程序。在大光比环境下拍摄,普通相机因受到动态范围的限制,不能记录极端亮或者暗的细节。经HDR程序处理的照片,即使在大光比情况拍摄下,无论高光、暗位都能够获得比普通照片更佳的层次),本实施例在每个像素点只对反射光线进行一次采样,传统方案需要进行至少16次随机采样,因此本实施例提高了渲染效率;同时,本实施例是基于环境的渲染,渲染结果逼真,次表面散射方法比传统的alpha通道融合的方法真实感更加高。通过对菲涅尔效应做偏移处理来获得偏光材质质感,相对于传统不能实现颜色随角度改变而改变的贴纹理方案,更加真实。
具体的,最终菲涅尔效应反射光颜色由环境纹理值、微表面遮蔽项值以及菲涅尔效应系数(菲涅尔项)计算最终的反射光颜色即对应物体各像素点的反射颜色。即利用specularLight=sampleCol*fresnelWithOffset*G计算对应物体各像素点的反射颜色specularLight;其中,sampleCol为环境纹理值。
S130、将漫反射颜色与反射颜色相加得到对应物体各像素点的最终颜色。
具体的,将漫反射颜色与反射颜色相加得到对应物体各像素点的最终颜色。即利用re=diffuseLight+reflectLight计算最终颜色re,diffusionLight为漫反射颜色,reflectLight=specularLight为反射颜色。
基于上述技术方案,本发明实施例提供的基于物理着色的渲染方法,考虑了对半透明材质/偏光材质的渲染速度和渲染效果,利用环境纹理值来提高渲染效率以及渲染结果逼真程度,微表面遮蔽项值来提高画面真实感,菲涅尔效应系数来获得偏光材质质感,相对于传统不能实现颜色随角度改变而改变的贴纹理方案,更加真实。解决了次表面的渲染、偏光材质的渲染,渲染效果好,使得虚拟模型更加逼真;能够实现快速渲染。
下面对本发明实施例提供的基于物理着色的渲染***进行介绍,下文描述的基于物理着色的渲染***与上文描述的基于物理着色的渲染方法可相互对应参照。
请参考图2,图2为本发明实施例所提供的基于物理着色的渲染***的结构框图。该***可以包括:
漫反射颜色计算模块100,用于利用材质底色以及漫反射系数计算对应物体各像素点的漫反射颜色;
参数计算模块200,用于计算各像素点的环境纹理值、微表面遮蔽项值以及菲涅尔效应系数;
反射颜色计算模块300,用于根据环境纹理值、微表面遮蔽项值以及菲涅尔效应系数,计算对应物体各像素点的反射颜色;
最终颜色计算模块400,用于将漫反射颜色与反射颜色相加得到对应物体各像素点的最终颜色。
基于上述实施例,参数计算模块200可以包括:
环境纹理值计算单元,用于获取规范化处理后的反射向量;利用反射向量计算全境环境纹理坐标;根据全境环境纹理坐标,采样获得当前各像素点的环境纹理值。
基于上述实施例,参数计算模块200可以包括:
微表面遮蔽项值计算单元,用于获取法向量与半角向量夹角NdotH、法向量与入射光向量夹角NdotL、法向量与视点向量夹角NdotV、视点向量与半角向量的夹角的余弦值VdotH、以及材质粗糙度数值gloss;利用
Figure GDA0002809258010000111
计算各所述像素点的微表面遮蔽项值G;
其中,G'=G_Smith(a2,NdotL)*G_Smith(a2,max{e-8,NdotV});
其中,
Figure GDA0002809258010000112
Figure GDA0002809258010000113
cos为VdotH。
基于上述实施例,参数计算模块200可以包括:
菲涅尔效应系数计算单元,用于获取输入的对应物体的菲涅尔强度fresnelStrength;利用fresnelWithOffset=(1-α)*reflectivity+α*(1.0,1.0,1.0)计算各像素点的菲涅尔效应系数fresnelWithOffset;
其中,α=(1-VdotH+offset)4*fresnelStrength,reflectivity为初始反射光颜色,offset为菲涅尔偏移量。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的基于物理着色的渲染方法及***进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (9)

1.一种基于物理着色的渲染方法,其特征在于,所述方法包括:
利用材质底色以及漫反射系数计算对应物体各像素点的漫反射颜色;
计算各所述像素点的环境纹理值、微表面遮蔽项值以及菲涅尔效应系数;
根据所述环境纹理值、所述微表面遮蔽项值以及所述菲涅尔效应系数,计算对应物体各所述像素点的反射颜色,其中,计算公式为specularLight=sampleCol*fresnelWithOffset*G,specularLight为对应物体各所述像素点的反射颜色,sampleCol为环境纹理值,G为微表面遮蔽项值,fresnelWithOffset为菲涅尔效应系数;
将所述漫反射颜色与所述反射颜色相加得到对应物体各所述像素点的最终颜色。
2.根据权利要求1所述的方法,其特征在于,所述利用材质底色以及漫反射系数计算对应物体各像素点的漫反射颜色,包括:
通过像素点的纹理坐标,确定各所述像素点对应的纹理RGB值;
将各所述像素点对应的纹理RGB值与对应的基本颜色值相乘,得到各所述像素点对应的背景颜色值;
根据所述纹理RGB值以及所述背景颜色值,利用能量守恒规则确定各所述像素点对应的材质底色;
将所述材质底色与对应漫反射系数相乘,得到对应物体各所述像素点的漫反射颜色。
3.根据权利要求2所述的方法,其特征在于,所述计算各所述像素点的环境纹理值,包括:
获取规范化处理后的反射向量;
利用所述反射向量计算全境环境纹理坐标;
根据所述全境环境纹理坐标,采样获得当前各所述像素点的环境纹理值。
4.根据权利要求3所述的方法,其特征在于,所述计算各所述像素点的微表面遮蔽项值,包括:
获取法向量与半角向量夹角NdotH、法向量与入射光向量夹角NdotL、法向量与视点向量夹角NdotV、视点向量与半角向量的夹角的余弦值VdotH、以及材质粗糙度数值gloss;
利用
Figure FDA0002848528390000021
计算各所述像素点的微表面遮蔽项值G;
其中,G'=G_Smith(a2,NdotL)*G_Smith(a2,max{e-8,NdotV});
其中,
Figure FDA0002848528390000022
Figure FDA0002848528390000023
cos为VdotH。
5.根据权利要求4所述的方法,其特征在于,所述计算各所述像素点的菲涅尔效应系数,包括:
获取输入的对应物体的菲涅尔强度fresnelStrength;
利用fresnelWithOffset=(1-α)*reflectivity+α*(1.0,1.0,1.0)计算各所述像素点的菲涅尔效应系数fresnelWithOffset;
其中,α=(1-VdotH+offset)4*fresnelStrength,reflectivity为初始反射光颜色,offset为菲涅尔偏移量。
6.一种基于物理着色的渲染***,其特征在于,所述***包括:
漫反射颜色计算模块,用于利用材质底色以及漫反射系数计算对应物体各像素点的漫反射颜色;
参数计算模块,用于计算各所述像素点的环境纹理值、微表面遮蔽项值以及菲涅尔效应系数;
反射颜色计算模块,用于根据所述环境纹理值、所述微表面遮蔽项值以及所述菲涅尔效应系数,计算对应物体各所述像素点的反射颜色,其中,计算公式为specularLight=sampleCol*fresnelWithOffset*G,specularLight为对应物体各所述像素点的反射颜色,sampleCol为环境纹理值,G为微表面遮蔽项值,fresnelWithOffset为菲涅尔效应系数;
最终颜色计算模块,用于将所述漫反射颜色与所述反射颜色相加得到对应物体各所述像素点的最终颜色。
7.根据权利要求6所述的***,其特征在于,所述参数计算模块包括:
环境纹理值计算单元,用于获取规范化处理后的反射向量;利用所述反射向量计算全境环境纹理坐标;根据所述全境环境纹理坐标,采样获得当前各所述像素点的环境纹理值。
8.根据权利要求7所述的***,其特征在于,所述参数计算模块包括:
微表面遮蔽项值计算单元,用于获取法向量与半角向量夹角NdotH、法向量与入射光向量夹角NdotL、法向量与视点向量夹角NdotV、视点向量与半角向量的夹角的余弦值VdotH、以及材质粗糙度数值gloss;利用
Figure FDA0002848528390000031
计算各所述像素点的微表面遮蔽项值G;
其中,G'=G_Smith(a2,NdotL)*G_Smith(a2,max{e-8,NdotV);
其中,
Figure FDA0002848528390000032
Figure FDA0002848528390000033
cos为VdotH。
9.根据权利要求8所述的***,其特征在于,所述参数计算模块包括:
菲涅尔效应系数计算单元,用于获取输入的对应物体的菲涅尔强度fresnelStrength;利用fresnelWithOffset=(1-α)*reflectivity+α*(1.0,1.0,1.0)计算各所述像素点的菲涅尔效应系数fresnelWithOffset;
其中,α=(1-VdotH+offset)4*fresnelStrength,reflectivity为初始反射光颜色,offset为菲涅尔偏移量。
CN201710777504.8A 2017-08-31 2017-08-31 一种基于物理着色的渲染方法及*** Active CN107644453B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710777504.8A CN107644453B (zh) 2017-08-31 2017-08-31 一种基于物理着色的渲染方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710777504.8A CN107644453B (zh) 2017-08-31 2017-08-31 一种基于物理着色的渲染方法及***

Publications (2)

Publication Number Publication Date
CN107644453A CN107644453A (zh) 2018-01-30
CN107644453B true CN107644453B (zh) 2021-05-14

Family

ID=61110905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710777504.8A Active CN107644453B (zh) 2017-08-31 2017-08-31 一种基于物理着色的渲染方法及***

Country Status (1)

Country Link
CN (1) CN107644453B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108986200B (zh) * 2018-07-13 2023-06-20 北京中清龙图网络技术有限公司 图形渲染的预处理方法及***
CN110060321B (zh) * 2018-10-15 2022-11-25 叠境数字科技(上海)有限公司 基于真实材质的毛发快速实时渲染方法
CN109712226A (zh) * 2018-12-10 2019-05-03 网易(杭州)网络有限公司 虚拟现实的透明模型渲染方法及装置
CN109920041A (zh) * 2019-03-22 2019-06-21 深圳市脸萌科技有限公司 视频效果生成方法、装置及电子设备
CN111784816B (zh) * 2020-06-28 2023-03-10 山东大学 基于微表面理论的高频材质渲染方法及***
CN112435344B (zh) * 2020-11-27 2024-06-14 广东电网有限责任公司肇庆供电局 一种点云数据处理方法、装置及终端设备
CN112837405A (zh) * 2020-12-04 2021-05-25 佛山欧神诺云商科技有限公司 一种动态建模实现方法、电子设备、存储介质
CN113112582B (zh) * 2021-04-20 2022-07-12 浙江凌迪数字科技有限公司 一种真实感服装渲染中的侧光织物面料实时渲染方法
CN116091684B (zh) * 2023-04-06 2023-07-07 杭州片段网络科技有限公司 基于WebGL的图像渲染方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011026168A1 (en) * 2009-09-03 2011-03-10 National Ict Australia Limited Estimating reflectance model parameters from an image
CN103995700A (zh) * 2014-05-14 2014-08-20 无锡梵天信息技术股份有限公司 一种3d游戏引擎全局照明的实现方法
CN104392481A (zh) * 2014-11-25 2015-03-04 无锡梵天信息技术股份有限公司 一种利用贴图控制高光反射清晰度的方法及装置
CN106780702A (zh) * 2016-12-23 2017-05-31 成都通甲优博科技有限责任公司 一种基于物理着色的方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011026168A1 (en) * 2009-09-03 2011-03-10 National Ict Australia Limited Estimating reflectance model parameters from an image
CN103995700A (zh) * 2014-05-14 2014-08-20 无锡梵天信息技术股份有限公司 一种3d游戏引擎全局照明的实现方法
CN104392481A (zh) * 2014-11-25 2015-03-04 无锡梵天信息技术股份有限公司 一种利用贴图控制高光反射清晰度的方法及装置
CN106780702A (zh) * 2016-12-23 2017-05-31 成都通甲优博科技有限责任公司 一种基于物理着色的方法及***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Microfacet Models for Refraction through Rough Surfaces》;Bruce Walter等;《Eurographics Symposium on Rendering》;20071231;第1-12页 *
《面向3DGIS渲染逼真度的方法研究》;王伟等;《武汉大学学报 信息科学版》;20170526;第1090-1095页 *

Also Published As

Publication number Publication date
CN107644453A (zh) 2018-01-30

Similar Documents

Publication Publication Date Title
CN107644453B (zh) 一种基于物理着色的渲染方法及***
Li et al. Haze visibility enhancement: A survey and quantitative benchmarking
Nalbach et al. Deep shading: convolutional neural networks for screen space shading
Meilland et al. 3d high dynamic range dense visual slam and its application to real-time object re-lighting
CN110148204B (zh) 用于在真实环境的视图中表示虚拟对象的方法和***
Li et al. Physically-based editing of indoor scene lighting from a single image
Happa et al. Illuminating the past: state of the art
US11276244B2 (en) Fixing holes in a computer generated model of a real-world environment
Drew et al. Robust estimation of surface properties and interpolation of shadow/specularity components
Grosch et al. Consistent interactive augmentation of live camera images with correct near-field illumination
Walton et al. Synthesis of environment maps for mixed reality
CN116091684B (zh) 基于WebGL的图像渲染方法、装置、设备及存储介质
Kim et al. Adaptive surface splatting for facial rendering
Xu et al. Object-based illumination transferring and rendering for applications of mixed reality
Koc et al. Estimation of environmental lighting from known geometries for mobile augmented reality
Thul et al. Precomputed radiance transfer for reflectance and lighting estimation
Happa et al. Studying illumination and cultural heritage
Lalonde et al. Synthesizing environment maps from a single image
Gigilashvili et al. Appearance manipulation in spatial augmented reality using image differences
Elek et al. Real-time screen-space scattering in homogeneous environments
Martos et al. Realistic virtual reproductions. Image-based modelling of geometry and appearance
CN112907720B (zh) 一种面向真实感绘制的海冰数据可视化方法及装置
Andrade et al. An unstructured lumigraph based approach to the SVBRDF estimation problem
Madsen et al. Probeless illumination estimation for outdoor augmented reality
Biswas A Comparative Study of the Performance of Real-Time Inverse Lighting with Matte, Semi-Gloss and Gloss Surfaces

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