[发明专利]一种毛发渲染的方法及终端有效
申请号: | 201810500761.1 | 申请日: | 2018-05-23 |
公开(公告)号: | CN108961373B | 公开(公告)日: | 2022-06-07 |
发明(设计)人: | 刘德建;高山晓;陈宏展 | 申请(专利权)人: | 福建天晴在线互动科技有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00 |
代理公司: | 福州市博深专利事务所(普通合伙) 35214 | 代理人: | 林志峥 |
地址: | 350001 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 毛发 渲染 方法 终端 | ||
本发明提供的一种毛发渲染的方法及终端,通过将毛发的厚度信息存储为厚度贴图,将毛发的法线信息存储为次法线图,并将所述毛发所依附物体的法线信息拷贝靠所述次法线图中,因此,建模师可以在一片毛发面片上表现出毛发的厚度变化和细节变化,不必在三维空间中搭面或者画样条线,而且对于建模师来说,制作二维的厚度贴图远远比在三维空间中搭面或者画样条线更加简单,从而简化了模型的制作工序,缩短了制作周期,提高了渲染效率,而且通过厚度贴图调整毛发光泽,使得毛发光泽变化更加丰富,采用次法线图计算毛发阴影,可避免毛发环境遮罩走样。
技术领域
本发明涉及计算机图形图像领域的实时渲染技术,特别涉及一种毛发渲染的方法及终端。
背景技术
实时真实感毛发渲染一直是计算机图形学中的难点,现今主流的实时真实感毛发渲染主要基于Kajiya-Kay算法和Marschner算法两种算法,但两者均有明显的缺陷。
Kajiya-Kay算法虽然能正确表现毛发反射高光,并且算法开销小,对于毛发的三维建模要求小的优点,但该算法并不是基于真实的物理模型,而是一种经验算法,因此在特定光照条件下,该算法并不能很好的模拟毛发光泽表现,且该算法也不能模拟毛发在逆光环境下形成的折射光现象,真实感表现具有一定的局限性。因此该算法被广泛应用于对毛发真实感渲染要求不太高的游戏中。
Marschner算法是基于物理光照的渲染算法,因此能很好地模拟毛发在不同光照条件下的三条主光路变化,他们分别是R反射光路,TT折射-折射光路,TRT折射-反射光路。该算法渲染效果优秀,但存在开销大,对于毛发的三维建模要求高的缺点。该算法只应用于对渲染要求极高的游戏中。
另外,采用Marschner算法渲染毛发,要求毛发三维模型高度还原现实的毛发,因此往往需要建模师采用样条线建模或发片搭面建模方式来构建毛发。
样条线建模采用样条线创建毛发面片,一根样条线代表一根毛发或一束毛发,建模师设计好样条线走向后再转成GPU可渲染的三角面片,为了得到光滑的毛发,通常需要对样条线进行细分后再转成三角面,这种建模方式通常会造成海量的面片数据量,不适合实时渲染。适合渲染实时要求低,但精度要求高的场景(如迪士尼动画均采用这种建模方式)。
搭面建模方式采用三维面片代表一簇毛发,建模师通过调整面片形状走向对毛发进行造型,为了丰富毛发的层次,建模师往往需要一层一层的铺设毛发面片,虽然降低了毛发面片数,但每一片毛发面片都需要建模师手动修改其位置信息,旋转信息和缩放信息。并且毛发越浓密的地方需要铺的面片也越多,因此这种建模方式也相当费时费力。
发明内容
本发明所要解决的技术问题是:提供一种毛发渲染效率高且光泽丰富的毛发渲染方法及终端。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种毛发渲染的方法,包括步骤:
S1、创建毛发模型,并将所述毛发模型预渲染得到的厚度信息存储为厚度贴图;
S2、将所述毛发模型预渲染得到的毛发的法线信息存储为次法线图,再将毛发所依附物体的法线信息拷贝到所述次法线图中;
S3、在实时渲染时,读取所述厚度贴图中的厚度信息和所述次法线图中的法线信息,所述法线信息为毛发的法线信息和毛发所依附物体的法线信息,根据所述厚度信息和法线信息对所述毛发模型进行毛发渲染。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种毛发渲染的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
S1、创建毛发模型,并将所述毛发模型预渲染得到的厚度信息存储为厚度贴图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天晴在线互动科技有限公司,未经福建天晴在线互动科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810500761.1/2.html,转载请声明来源钻瓜专利网。