CN110060321A - 基于真实材质的毛发快速实时渲染方法 - Google Patents
基于真实材质的毛发快速实时渲染方法 Download PDFInfo
- Publication number
- CN110060321A CN110060321A CN201811199727.1A CN201811199727A CN110060321A CN 110060321 A CN110060321 A CN 110060321A CN 201811199727 A CN201811199727 A CN 201811199727A CN 110060321 A CN110060321 A CN 110060321A
- Authority
- CN
- China
- Prior art keywords
- hair
- true
- angle
- texture
- rendering method
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
基于真实材质的毛发快速实时渲染方法,包括:在真实的毛发纹理贴图中,按明亮分布计算得到毛发着色和光照角度的对应信息;计算待渲染对象毛发的光照角度;在所述对应信息中查询对应的着色,并采样;将所采样的纹理着色移至待渲染对象上。本发明以取自真实的头发纹理,通过对于着色点处的物理计算,随后在真实毛发纹理贴图中查询相应的颜色结果,避免了传统方法中对于毛发复杂的BRDF函数的计算,很好地保留毛发的真实感。
Description
技术领域
本发明涉及虚拟现实图像处理领域,具体地说是一种基于真实材质的毛发快速实时渲染方法。
背景技术
毛发是人物形象的重要特性;在实际情况中,照射的光线在大量的毛发之间会发生复杂的散射,而毛发所独有的纹理与其极小的直径也很难进行简单的模拟。
三维渲染领域中,传统的对于毛发的高质量渲染主要依赖于光线跟踪;即将毛发作为一种特殊的几何表达直接进行光线跟踪。而在这个过程中,毛发的精细结构对于采样和反走样形成了很大的难度,需要很高的采样率才能保证无失真的高质量渲染。若依赖传统光照数学模型来渲染,由于公式的复杂性,通常需要在计算着色点处进行积分等操作,大大降低运行速度。
此外,光照迁移技术用于图形处理,是指给定一张目标人脸图像和一张参照人脸图像,将参考人脸图像上的光照效果迁移到目标人脸图像上。常应用于丢失空间信息的情形,可以一定程度上解决图像的上色问题。然而,上述方法通常耗时长,无法做到比如10ms一帧的较高速度。另外,由于三维渲染参数均已知,如果允许离线渲染则可以精确求值,在这种情况下采用光场迁移技术的必要性不大。
发明内容
本发明为解决现有的基于三维线段模型的渲染问题,旨在提供一种基于真实材质的毛发快速实时渲染方法。
为了达到上述目的,本发明采用的技术方案包括如下步骤:
步骤一,在真实的毛发纹理贴图中,按明亮分布计算得到毛发着色和光照角度的对应信息;
步骤二,计算待渲染对象毛发的光照角度;
步骤三,在所述对应信息中查询对应的着色,并采样;
步骤四,将所采样的纹理着色移至待渲染对象上。
步骤一中,利用光线在毛发接触区域的方向向量和在着色点处单根毛发的切线方向的夹角的补角ω,及其与观察方向的夹角δ作为真实纹理上颜色的对应坐标,可事先获取单光源下毛发的真实照片,在真实毛发的δ一致处获取对应颜色值。
步骤二中,计算待渲染对象毛发的每一个像素点的光照角度:
根据毛发切线方向T和光照方向I计算光照在该点处的反射角度,
ω=π-acos(dot(T,I))
计算观察方向V和T的角度α=acos(dot(T,V))
计算以上两个角度的差值:δ=abs(ω-α)。
步骤四之后,计算每个像素点区域内所经过的毛发数量:如果一个像素点区域仅被一条毛发覆盖,则赋予该像素点较高的透明度;如果一个像素点区域叠加了多根毛发,赋予该像素点较低的透明度。
其中,对每根毛发进行从根部到尖端呈现出逐渐透明的设定。
和现有技术相比,本发明以取自真实的头发纹理,通过对于着色点处的物理计算,随后在真实毛发纹理贴图中查询相应的颜色结果,避免了传统方法中对于毛发复杂的BRDF函数的计算,而基于着色区域物理参数的计算又能很好地保留了毛发的真实感;同过计算不同的透明度来模拟不同粗细和不同密度的毛发,得到了更为真实的效果。
附图说明
图1为获取真实毛发贴图纹理的示意图;
图2a、图2b为完成渲染后的效果图。
具体实施方式
现结合附图对本发明作进一步地说明。
参见图1,图1展示的是本发明获取真实毛发贴图纹理的示意。
在三维实时渲染中,头发由三层组成。其最外层角质反射的大多数是光照本来的颜色;而头发内部还有两层,经过它们的光线更多的会显示出头发本身的颜色。除了本身的颜色,最后反射出来的颜色还与头发的物理形状有关,比如头发在光照下显示出来的零星的闪烁(glint)的效果。
上述内容中,较难获得的是头发本身的颜色,和通过计算得到闪烁效果。其中,人的头发颜色并不是固定的,不可能通过计算得到的;另外一个则需要耗时的计算。
为了达到尽可能真实的效果和高效的渲染速度,首先,在真实的毛发纹理贴图中,按明亮分布计算得到毛发着色和光照角度的对应信息;对毛发的着色直接取自真实的头发纹理。
其中,纹理中的明亮的部分代表了光线在该区域的反射角度接近观察角度,进而在观察角度得到了较高亮度;较暗的部分则是反射的光线偏离了观察的角度,进而观察角度接受不到毛发足够的反射亮度。因此,不同的光照角度会产生不一样明亮程度,进一步地在真实毛发贴图上的每一处,做出其与关照角度之间的对应关系;并存储起来。
然后,计算待渲染对象毛发的每一个像素点的光照角度;具体的获取过程如下:
1.根据毛发切线方向T和光照方向I计算光照在该点处的反射角度,
ω=π-acos(dot(T,I))
2.计算观察方向V和T的角度α=acos(dot(T,V))
3.计算以上两个角度的差值,δ=abs(ω-α)。
4.这里需要注意,毛发有着独特的纹理颜色,比如在暗淡的区域有时也会有较明亮的闪光,因此无法计算得出,直接从真实毛发图像上获取将会得到与现实相一致的效果。
为了让头发尽可能真实,本实施例把头发本身色彩、闪烁效果的参数转换成纹理直接使用。
其次,依据所述对应信息,在真实毛发纹理贴图中查询相应的颜色结果,具体查询采用如下方式:
δ数值越大,意味着光照的反射方向和观察方向约偏离,所以毛发呈现暗淡的色彩。其值越小,则表示光线反射方向和观察方向相一致,则有更加明亮的颜色。因此,我们将真实毛发在单一光源下的图像作为样本,δ数值越小,我们采样该图片上越明亮区域的颜色,反之,则获取暗淡区域的颜色。其具体实现而视情况而定。
最后,参见图2a、图2b,将所采样的纹理着色移至待渲染对象上,至此,本实施例对该点处的毛发的颜色计算完成。
本实施例中,为了达到尽可能真实的效果和高效的渲染速度,进行了基于物理的参数计算,根据参数直接在真实毛发纹理中查询着色所需要的结果,得到最终的毛发颜色。
最后,计算每个像素点经过的毛发数量,启发式地计算不同的透明度来模拟不同粗细和不同密度的毛发,得到了更为真实的效果。
进一步地,对于极细的毛发在照片中会表现出透明的效果,原因是该毛发并不足以覆盖单个像素点。以至于在整体的视觉效果上,毛发的边缘部分往往有着明显的透明效果。
为了模拟该效果,本实施例计算每个像素点区域所经过的毛发数量:
如果一个像素点仅被一条毛发覆盖,则赋予该像素点较高的透明度,因为单根极细的毛发远无法覆盖一个像素点;
一个区域如果叠加了很多的毛发,该区域就赋予较低的透明度,因为大量极细的毛发重叠的效果就是较低的透明度。
另外,真实毛发呈现出根部粗,尖端细的特点。本实施例通过赋予不同部位变化的透明度,以达到该效果。具体表现为,毛发从根部到尖端呈现出逐渐透明的效果,以此来模拟毛发纤细的效果。该过程不依赖传统的透明度计算方法,并不需要根据深度信息,将毛发在GPU上进行排序。以此大大提升了GPU渲染的速度。
上面结合附图及实施例描述了本发明的实施方式,实施例给出并不构成对本发明的限制,本领域内熟练的技术人员可依据需要做出调整,在所附权利要求的范围内做出各种变形或修改均在保护范围内。
Claims (5)
1.一种基于真实材质的毛发快速实时渲染方法,其特征在于包括如下步骤:
步骤一,在真实的毛发纹理贴图中,按明亮分布计算得到毛发着色和光照角度的对应信息;
步骤二,计算待渲染对象毛发的光照角度;
步骤三,在所述对应信息中查询对应的着色,并采样;
步骤四,将所采样的纹理着色移至待渲染对象上。
2.根据权利要求1所述的一种基于真实材质的毛发快速实时渲染方法,其特征在于:步骤一中,利用光线在毛发接触区域的方向向量和在着色点处单根毛发的切线方向的夹角的补角ω,及其与观察方向的夹角δ作为真实纹理上颜色的对应坐标,可事先获取单光源下毛发的真实照片,在真实毛发的δ一致处获取对应颜色值。
3.根据权利要求1所述的一种基于真实材质的毛发快速实时渲染方法,其特征在于:步骤二中,计算待渲染对象毛发的每一个像素点的光照角度:
根据毛发切线方向V和光照方向I计算光照在该点处的反射角度,
ω=π-acos(dot(T,I))
计算观察方向V和T的角度α=acos(dot(T,V))
计算以上两个角度的差值:δ=abs(ω-α)。
4.根据权利要求1所述的一种基于真实材质的毛发快速实时渲染方法,其特征在于:步骤四之后,计算每个像素点区域内所经过的毛发数量:如果一个像素点区域仅被一条毛发覆盖,则赋予该像素点较高的透明度;如果一个像素点区域叠加了多根毛发,赋予该像素点较低的透明度。
5.根据权利要求1或4所述的一种基于真实材质的毛发快速实时渲染方法,其特征在于:对每根毛发进行从根部到尖端呈现出逐渐透明的设定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811199727.1A CN110060321B (zh) | 2018-10-15 | 2018-10-15 | 基于真实材质的毛发快速实时渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811199727.1A CN110060321B (zh) | 2018-10-15 | 2018-10-15 | 基于真实材质的毛发快速实时渲染方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110060321A true CN110060321A (zh) | 2019-07-26 |
CN110060321B CN110060321B (zh) | 2022-11-25 |
Family
ID=67315473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811199727.1A Active CN110060321B (zh) | 2018-10-15 | 2018-10-15 | 基于真实材质的毛发快速实时渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110060321B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111524171A (zh) * | 2020-04-26 | 2020-08-11 | 网易(杭州)网络有限公司 | 图像处理方法、装置和电子设备 |
CN112330570A (zh) * | 2020-11-27 | 2021-02-05 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN113822981A (zh) * | 2020-06-19 | 2021-12-21 | 北京达佳互联信息技术有限公司 | 一种图像渲染方法、装置、电子设备及存储介质 |
WO2022000953A1 (zh) * | 2020-07-03 | 2022-01-06 | 完美世界(北京)软件科技发展有限公司 | 一种基于径向模糊的绒毛渲染方法、装置及存储介质 |
CN113947653A (zh) * | 2021-09-27 | 2022-01-18 | 四川大学 | 一种真实质感毛发的模拟方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6559849B1 (en) * | 1999-07-30 | 2003-05-06 | Lucas Digital Ltd. | Animation of linear items |
CN102982575A (zh) * | 2012-11-29 | 2013-03-20 | 杭州挪云科技有限公司 | 一种基于光线跟踪的毛发渲染方法 |
CN107644453A (zh) * | 2017-08-31 | 2018-01-30 | 成都通甲优博科技有限责任公司 | 一种基于物理着色的渲染方法及系统 |
-
2018
- 2018-10-15 CN CN201811199727.1A patent/CN110060321B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6559849B1 (en) * | 1999-07-30 | 2003-05-06 | Lucas Digital Ltd. | Animation of linear items |
CN102982575A (zh) * | 2012-11-29 | 2013-03-20 | 杭州挪云科技有限公司 | 一种基于光线跟踪的毛发渲染方法 |
CN107644453A (zh) * | 2017-08-31 | 2018-01-30 | 成都通甲优博科技有限责任公司 | 一种基于物理着色的渲染方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111524171A (zh) * | 2020-04-26 | 2020-08-11 | 网易(杭州)网络有限公司 | 图像处理方法、装置和电子设备 |
CN113822981A (zh) * | 2020-06-19 | 2021-12-21 | 北京达佳互联信息技术有限公司 | 一种图像渲染方法、装置、电子设备及存储介质 |
CN113822981B (zh) * | 2020-06-19 | 2023-12-12 | 北京达佳互联信息技术有限公司 | 一种图像渲染方法、装置、电子设备及存储介质 |
WO2022000953A1 (zh) * | 2020-07-03 | 2022-01-06 | 完美世界(北京)软件科技发展有限公司 | 一种基于径向模糊的绒毛渲染方法、装置及存储介质 |
CN112330570A (zh) * | 2020-11-27 | 2021-02-05 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
WO2022110837A1 (zh) * | 2020-11-27 | 2022-06-02 | 北京达佳互联信息技术有限公司 | 图像处理方法及装置 |
CN112330570B (zh) * | 2020-11-27 | 2024-03-12 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN113947653A (zh) * | 2021-09-27 | 2022-01-18 | 四川大学 | 一种真实质感毛发的模拟方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110060321B (zh) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110060321A (zh) | 基于真实材质的毛发快速实时渲染方法 | |
EP2478695B1 (en) | System and method for image processing and generating a body model | |
CN108876931B (zh) | 三维物体颜色调整方法、装置、计算机设备及计算机可读存储介质 | |
CN104484896B (zh) | 一种基于环境贴图来模拟人物皮肤次表面散射的物理方法 | |
CN109671142B (zh) | 一种智能美妆方法及智能美妆镜 | |
CN107734267A (zh) | 图像处理方法和装置 | |
US20030038822A1 (en) | Method for determining image intensities of projected images to change the appearance of three-dimensional objects | |
CN104091366B (zh) | 基于二维阴影信息的三维模型智能数字化生成方法和系统 | |
US20020030681A1 (en) | Method for efficiently calculating texture coordinate gradient vectors | |
Lee et al. | Geometry-dependent lighting | |
CN107016719A (zh) | 一种屏幕空间的次表面散射效果实时绘制方法 | |
CN107610225A (zh) | 一种倾斜摄影实景三维模型单体化方法 | |
CN107734264A (zh) | 图像处理方法和装置 | |
CN107610078A (zh) | 图像处理方法和装置 | |
CN101226644B (zh) | 空间二维图像的光影跟踪方法 | |
DE112018001394T5 (de) | Lauf-Unterstützungsvorrichtung, Lauf-Unterstützungsverfahren und Programm | |
CN107705277A (zh) | 图像处理方法和装置 | |
CN110610504A (zh) | 基于骨架与色调的铅笔画生成方法及装置 | |
CN107564090A (zh) | 一种三维牙颌模型渲染方法 | |
JP2003058581A (ja) | 被覆された3次元オブジェクトのコンピュータ画像を生成するためのプロセス | |
Soranzo et al. | Layer and framework theories of lightness | |
WO2015052514A2 (en) | Rendering composites/layers for video animations | |
CN116883579A (zh) | 用于osg引擎的视景增强处理方法 | |
CN107204035A (zh) | 多层非均匀材质反光物体的实时渲染方法 | |
CN105869203B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |