公开/公告号CN101127126A
专利类型发明专利
公开/公告日2008-02-20
原文格式PDF
申请/专利权人 腾讯科技(深圳)有限公司;
申请/专利号CN200610109841.1
发明设计人 刘皓;
申请日2006-08-16
分类号G06T15/50(20060101);
代理机构11291 北京同达信恒知识产权代理有限公司;
代理人宋松
地址 518044 广东省深圳市福田区振兴路赛格科技园2栋东410室
入库时间 2023-12-17 19:45:36
法律状态公告日
法律状态信息
法律状态
2012-09-26
授权
授权
2008-04-16
实质审查的生效
实质审查的生效
2008-02-20
公开
公开
技术领域
本发明涉及图像渲染领域,特别是涉及一种非物理模型模拟次表面散射效果的方法及装置。
背景技术
次表面散射是指光线照射到物体后,进入物体内部,经过在物体内的散射从物体表面的其他顶点(像素)离开物体的现象。主要用于模拟透明或半透明材质内部表现出来的一种真实光影特效。例如:当灯光照射到玻璃或清澈的液体表面时,灯光会穿透这些介质,次表面散射效果可用来模拟灯光进入介质内部后发生的散射。又例如:在一根蜡烛烛光的照耀下,蜡烛靠近火焰的一端会显出半透明效果。再例如:灯光照射下的人的皮肤,灯光照射下的玉等。
次表面散射效果在目前的3D动画电影中被广泛使用,次表面散射效果可使物体看起来非常真实,很有质感。在电影级制作中,采用专业的3D动画制作软件,对于次表面散射的模拟都是完全基于物理模型的,即真实的进行光穿过物体的折射散射模拟计算,尽管很耗时,但是效果确非常的好,具体的实现方法完全遵守次表面散射的真实物理流程。
但是实时渲染不能承受如此大的时间开销,而且现今的显卡还不能完全基于物理模型模拟次表面散射,所以实时渲染采用简化的物理模型模拟或者非物理模型模拟次表面散射。
目前在实时渲染中模拟次表面散射的效果,参见图1所示,其以预计算光线传递方法来实现,所述预计算光线传递是一种简化的物理模型模拟,同样是模拟光线在模型里的传播,它在完全物理模型模拟的方法上进行一系列理想化假设,并对物理公式进行简化,在进行预计算后得到每个顶点上的一系列与观察点无关的参数,这些参数用来修饰模型顶点的最后的颜色。这种方法的实时渲染实现条件包括:1、需要很多顶点的高精度物体模型与顶点着色器1.1(Vertex Shader1.1)。2、低精度物体模型与象素着色器2.0(Pixel Shader2.0)。此方法的花销很大,并且在模拟低精度物体模型时,需要高级显卡的支持。
发明内容
本发明提供一种非物理模型模拟次表面散射效果的方法及装置,用以解决现有技术以简化的物理模型模拟次表面散射效果,使得实现条件苛刻的问题。
本发明方法包括下列步骤:
A、得出光照模型颜色,以及待叠加颜色;
B、将所述待叠加颜色与光照模型颜色叠加,以模拟次表面散射效果。
其中,所述待叠加颜色为叠加的亮度与次表面散射颜色相乘。
进一步,所述叠加的亮度在第一夹角为90度时最大,并且向第一夹角为0度和180度递减;所述第一夹角为模型点的法线方向向量N与着色点到光源的方向向量L的夹角。叠加的最大亮度向第一夹角为0度和180度递减的曲线可调。叠加的亮度与第一夹角之间的关系曲线由预先生成的一维纹理储存。
进一步,所述次表面散射颜色比模型本身的颜色浅。
综上所述,所述步骤A中,得出待叠加颜色后,对其进行视点修正;以及所述步骤B中,将视点修正后的待叠加颜色与光照模型颜色叠加,以模拟次表面散射效果。
进一步,将视点修正值与待叠加颜色相乘,以实现对待叠加颜色的视点修正。
所述视点修正值在大于0且小于等于1的范围内,随着第二夹角从0度到180度递增而相应递增;所述第二夹角为着色点到视点的方向向量E与着色点到光源的方向向量L的夹角。所述视点修正值与第二夹角的关系曲线由预先生成的一维纹理储存。
其中,所述光照模型颜色为环境反射值、漫反射值及高光反射值之和。
本发明的装置,包括:光照模型颜色生成单元,还包括:
叠加颜色生成单元,用于生成待叠加颜色;
叠加单元,用于将叠加颜色生成单元生成的待叠加颜色,与光照模型颜色生成单元生成的光照模型颜色叠加。
其中,所述叠加颜色生成单元中包括下列子单元:
叠加亮度生成单元,用于生成叠加亮度;
次表面散射颜色生成单元,用于生成次表面散射颜色;
第一乘积单元,用于将叠加亮度生成单元与次表面散射颜色生成单元的输出相乘。
进一步,所述叠加颜色生成单元中还包括:第一一维纹理储存单元,用于存储叠加亮度与第一夹角之间的关系曲线,以备所述叠加亮度生成单元调用;所述第一夹角为模型点的法线方向向量N与着色点到光源的方向向量L的夹角。
综上所述,所述装置还包括:视点修正单元,用于对所述叠加颜色生成单元生成的待叠加颜色进行视点修正。
其中,所述视点修正单元中包括下列子单元:
视点修正值计算单元,用于得出视点修正值;
第二乘积单元,用于将所述叠加颜色生成单元生成的待叠加颜色与视点修正值计算单元得出的视点修正值相乘。
进一步,所述视点修正单元中还包括:第二一维纹理储存单元,用于存储视点修正值与第二夹角的关系曲线,以备所述视点修正值计算单元调用;所述第二夹角为着色点到视点的方向向量E与着色点到光源的方向向量L的夹角。
本发明有益效果如下:
本发明方法不再采用预计算光线传递方法,即不再采用简化的物理模型模拟次表面散射效果,而是利用现有的光照模型(phone光照模型),在该模型的基础上进行颜色叠加,更可对叠加颜色进行视点修正,从而实现次表面散射效果的模拟。
相比之下,本发明方法比预计算光线传递方法实现次表面散射效果的花销少很多,并且原理简单。只需支持顶点着色器1.1(Vertex Shader1.1)即可,无需高精度模型等其他实时渲染条件。
为了支撑本发明方法,本发明还提供了一种非物理模型模拟次表面散射效果的装置。
附图说明
图1为现有预计算光线传递方法模拟次表面散射的效果图;
图2为本发明装置结构示意图;
图3为本发明装置的优选方案结构示意图;
图4为本发明方法步骤流程图;
图5为光照模型颜色的环境反射模型的曲线图;
图6为光照模型颜色的高光反射模型的曲线图;
图7为光照模型颜色的漫反射模型的曲线图;
图8为光照模型颜色效果图;
图9为叠加亮度模型的曲线图;
图10为调节后的叠加亮度模型的曲线图;
图11为视点修正模型的曲线图;
图12-1-1至12-1-8为光照模型效果图;相应的,图12-2-1至12-2-8为本发明模拟次表面散射效果图,其中12-2-6至12-2-8为调节了叠加亮度模型曲线的效果图。
具体实施方式
为了减少模拟次表面散射效果的实现条件,即减少渲染花销,本发明提供了一种非物理模型模拟次表面散射效果的装置,参见图2所示,其包括叠加单元1,以及分别与叠加单元1相连的叠加颜色生成单元2和光照模型颜色生成单元3。
所述光照模型颜色生成单元3,用于按照现有技术模拟光照模型颜色(即经典的phone光照模型颜色)。Phone光照明模型是真实感图形学中提出的第一个有影响的光照明模型,生成图象的真实度已经达到可以接受的程度,但是在实际应用中,它只是一个经验模型。Phone光照明模型可表述为:由物体表面上一点P反射到视点的光强I为环境光的反射光强Ie、理想漫反射光强Id、和镜面高光反射光Is的总和,即
I=IaKa+IpKd(L·N)+IpKs(R·V)n
所述叠加颜色生成单元2,用于生成待叠加颜色。
所述叠加单元1,用于将叠加颜色生成单元2生成的待叠加颜色,与光照模型颜色生成单元3生成的光照模型颜色叠加。
进一步,所述叠加颜色生成单元2中包括第一乘积单元21,以及分别与第一乘积单元21相连的叠加亮度生成单元22和次表面散射颜色生成单元23;还可包括与叠加亮度生成单元22相连的第一一维纹理储存单元24。
所述第一一维纹理储存单元24,用于存储叠加亮度与第一夹角之间的关系曲线,以备所述叠加亮度生成单元22调用;所述第一夹角为模型点的法线方向向量N与着色点到光源的方向向量L的夹角。
所述叠加亮度生成单元22,用于生成叠加亮度。
所述次表面散射颜色生成单元23,用于生成次表面散射颜色。
所述第一乘积单元21,用于将叠加亮度生成单元22与次表面散射颜色生成单元23的输出相乘。
为了获得更好的次表面散射模拟效果,本发明还提供了优选装置,参见图3所示,其在图2的叠加颜色生成单元2与叠加单元1之间增加了视点修正单元4。所述视点修正单元4,用于对所述叠加颜色生成单元2生成的待叠加颜色进行视点修正。
进一步,所述视点修正单元4中包括与叠加颜色生成单元2相连的第二乘积单元41,以及与第二乘积单元41相连的视点修正值计算单元42;还可包括与视点修正值计算单元42相连的第二一维纹理储存单元43。
所述第二一维纹理储存单元43,用于存储视点修正值与第二夹角的关系曲线,以备所述视点修正值计算单元42调用;所述第二夹角为着色点到视点的方向向量E与着色点到光源的方向向量L的夹角。
所述视点修正值计算单元42,用于得出视点修正值。
所述第二乘积单元41,用于将所述叠加颜色生成单元2生成的待叠加颜色与视点修正值计算单元42得出的视点修正值相乘。
应用上述装置,本发明还提供了一种非物理模型模拟次表面散射效果的方法,参见图4所示,本发明方法包括下列主要步骤:
S1、得出光照模型颜色。
按照现有技术,光照模型颜色由环境反射值、漫反射值及高光反射值相加得到。
参见图5所示,所述环境反射的模型的横坐标为N与L的夹角,纵坐标为该顶点的亮度。其中N为模型点的法线方向向量,L为着色点到光源的方向向量。随着N与L的夹角变化,所述顶点的亮度保持最大值。
参见图6所示,所述高光反射的模型的横坐标为N与L的夹角,纵坐标为该顶点的亮度。其中N为模型点的法线方向向量,L为着色点到光源的方向向量。在N与L的夹角为0度时,顶点亮度最大;随着N与L夹角的增大,顶点亮度锐减,N与L夹角不到90度时,顶点亮度已降到0。
参见图7所示,所述漫反射的模型的横坐标为N与L的夹角,纵坐标为该顶点的亮度。其中N为模型点的法线方向向量,L为着色点到光源的方向向量。在N与L的夹角为0度时,顶点亮度最大;随着N与L夹角的增大,顶点亮度递减,当N与L夹角为90度时,顶点亮度降到0。
最终得到的光照模型颜色效果图。参见图8所示。
S2、得出待叠加颜色。
所述待叠加颜色由叠加的亮度与次表面散射颜色相乘得到。
参见图9所示,所述叠加亮度的模型的横坐标为N与L的夹角(第一夹角),纵坐标为该顶点的叠加亮度。其中N为模型点的法线方向向量,L为着色点到光源的方向向量。所述叠加亮度在N与L夹角为90度时最大,并且向N与L夹角为0度和180度递减,即N与L的夹角大于或小于90度时仍然有叠加颜色值,这样可以表现出物体背光时的半透明效果。基于图9并参见图10所示,叠加的最大亮度向N与L夹角为0度和180度递减的曲线可调,以表现不同的材质的不同透明度的效果。叠加的亮度与N与L夹角(第一夹角)之间的关系曲线可由预先生成的一维纹理储存,以减小实时计算的开销。
所述次表面散射颜色应该与模型本身颜色相近并且偏浅,否则会失真。
对应上述优选装置,得出待叠加颜色后,可对其进行视点修正。所述视点修正通过将视点修正值与待叠加颜色相乘来实现。
参见图11所示,所述视点修正的模型的横坐标为E与L的夹角(第二夹角),纵坐标为该顶点的视点修正值。其中E为着色点到视点的方向向量,L为着色点到光源的方向向量。所述视点修正值在大于0且小于等于1的范围内,随着E与L的夹角从0度到180度递增而相应递增;即当观察点顺光时,颜色叠加量最少,当观察点逆光时,颜色叠加最大。所述视点修正值与E与L夹角(第二夹角)的关系曲线由预先生成的一维纹理储存,以减小实时计算的开销。
S3、颜色叠加。
将步骤S1得到的光照模型颜色与步骤S2得到的待叠加颜色相加,得到最终颜色。
综上所述,模型着色的最终颜色=光照模型颜色+叠加的亮度×次表面散射颜色×视点修正值。
S4、生成图像,模拟次表面散射效果。
根据步骤S3得到的最终颜色,完成相应的贴图和其他渲染处理,以生成模拟次表面散射效果的图像。
为了对比现有光照模型(phone光照模型)效果与本发明实现的模拟次表面散射效果,参见图12-1-1至12-1-8为光照模型效果,相应的,参见图12-2-1至12-2-8为本发明实现的模拟次表面散射效果,其中12-2-6至12-2-8为调整了叠加最大亮度向N与L夹角为0度和180度递减的曲线的效果。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
机译: 检测包括核苷酸序列和装置在内的小生物物体表面上分子组的位置和类型的电子干扰方法(57)本发明涉及检测生物物体的结构,可用于研究小型生物物体的表面结构物体(例如大分子)并检测其上放置的分子的位置和类型。一种装置,包括具有在其上的由非导电材料制成的基底的基底,光电阴极和阳极,其中在其之间存在用于研究对象的位置和电子散射体。光电阴极内至少有一个窗口,该光电阴极区域与窗口相邻,该窗口由功函数降低的材料制成。窗口通过至少一个狭缝连接到光电阴极之外的区域,其长度超过其宽度。在窗口和狭缝区域下方以较小的深度布置有冷却电极,其中在电极和缝隙区域下方布置有加速电极。
机译: 使用小直径盲管的表面增强拉曼散射的物理检查方法,物理检查装置,多个物理检查装置和盲管
机译: 一种用于非水电解质二次电池的控制装置和控制方法,具有控制装置的非水电解质二次电池系统,以及用于制造非水电解质二次电池的方法。