【技术实现步骤摘要】
一种真实感服装渲染中的闪粉面料实时渲染方法
[0001]本专利技术涉及实时渲染
,具体涉及一种真实感服装渲染中的闪粉面料实时渲染方法。
技术介绍
[0002]闪粉面料是一种复杂的具有特殊材质结构的面料。该面料上随机分布了大量的闪亮颗粒。这类面料表面附有的颗粒在光照下会散发出光芒。根据附着的颗粒不同,闪粉的光学特性也各不相同,且大致可以分为两类。第一类是金属光泽较小的颗粒,它不像金属或者光滑物体那样会随者光照以及视角的变化而产生明显的闪烁,它们的光学特性更像是非金属或者是半透明物质,无论从什么视角对它们进行观察,它们的光亮程度都不会发生明显的变化,这类粉能让面料表面呈现出散乱的颜色感,多用于手机壳和服饰;另一类是存在一定金属光泽的材料,例如金葱粉和珠光粉,它们会随着视角而发生一定的散射,给人一定的闪烁感,多用于美妆和服饰。
[0003]面料实时渲染所调用的图形库程序编程接口为OpenGL。OpenGL是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口。OpenGL存在于Windows,部分UNIX平台和Mac OS,利用了图形加速硬件以高效实现渲染。这些实现一般由显示设备厂商提供,而且非常依赖于该厂商提供的硬件。它严格规范了图形库中每个函数的执行与输出,并封装了图形库函数的内部实现,是常用的图形库程序编程接口之一。本专利技术所涉及的内容主要与OpenGL的片段着色器编程部分相关,其编程语言使用GLSL语言。
[0004]面料实时渲染所用的渲染方法为前向渲染。与延迟渲染不同,前向渲染仅渲 ...
【技术保护点】
【技术特征摘要】
1.一种真实感服装渲染中的闪粉面料实时渲染方法,其特征在于,包括步骤:(1)根据用户输入的缩放比例,将渲染像素的纹理坐标值映射到0到1之间;(2)根据用户输入的闪粉数量,在单位范围的二维空间进行网格划分;(3)根据所述渲染像素映射后的坐标值与闪粉半径,计算闪粉的不透明度;(4)根据渲染像素的纹理坐标值,计算出0
‑
1之间的随机数,然后计算出随机强度修正系数;(5)根据用户输入的闪粉颜色以及计算得到的随机强度修正系数,计算闪粉部分的渲染结果;或者,根据用户输入的闪粉颜色,对闪粉颜色进行随机色相修正后,根据修正后的闪粉颜色以及计算得到的随机强度修正系数,计算闪粉部分的渲染结果;(6)根据计算得到的闪粉的不透明度以及基底面料的原有渲染结果,计算最终渲染的结果。2.根据权利要求1所述的真实感服装渲染中的闪粉面料实时渲染方法,其特征在于,步骤(1)中,所述渲染像素映射后的坐标值计算公式如下:P
i
=mod(P
uv
·
α,1.0),其中,P
uv
表示渲染像素的纹理坐标值,P
i
表示所述渲染像素映射后的坐标值,α代表用户输入的缩放比例。3.根据权利要求1所述的真实感服装渲染中的闪粉面料实时渲染方法,其特征在于,步骤(2)中,所述网格划分的细度与闪粉数量直接相关,网格在所述二维空间的两个维度上都划分成一定数量的等份,其数量值为闪粉数量的100倍。4.根据权利要求1所述的真实感服装渲染中的闪粉面料实时渲染方法,其特征在于,步骤(2)中,所述闪粉数量为1
‑
200之间的整数。5.根据权利要求1所述的真实感服装渲染中的闪粉面料实时渲染方法,其特征在于,步骤(3)中,所述不透明度的计算公式如下:其中,α
glitter
表示不透明度,n表示以所述渲染像素映射后的坐标值为中心、以所述闪粉半径为半径的圆内所包含的网格点数,r
i
表示所述渲染像素映射后的坐标值到上述n个网格点的距离,R表示闪粉半径。6.根据权利要求1所述的真实感服装渲染中的闪粉面料实时渲染方法,其特征在于,步骤(4)中:所述随机数的计算方法如下:P'=(12.9898,78.233),x=fract(sin(P
·
P')*43758.5453123),其中,x表示计算得到的随机数,fract()表示取小数部分的函数,P表示所述渲染像素映射后的坐标值;所述随机强度修正系数计算如下:
其中,K
r
表示随机强度修正系数,x
i
表示计算得到的随机数,n表示以所述渲染像素映射后的坐标值为中心、以所述闪粉半径为半径的圆内所包含的网格点数,r
i
表示所述渲染像...
【专利技术属性】
技术研发人员:朱浩栋,郭亮,骆立康,刘郴,金小刚,
申请(专利权)人:浙江凌迪数字科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。