基于图形处理器的三维水墨效果渲染方法

文档序号:6543848阅读:199来源:国知局
专利名称:基于图形处理器的三维水墨效果渲染方法
技术领域
本发明涉及一种图形渲染,尤其涉及图形处理器(Graphics Processing Unit,GPU)的三维水墨效果渲染方法。
背景技术
三维风格化渲染目的是把三维模型渲染成手工绘画效果,在动画和游戏领域具有广泛应用价值。目前大部分三维风格化渲染系统主要依靠CPU来计算,对于一些简单的绘画效果渲染可以达到实时,但是对更富有表现力的复杂绘画效果渲染则无法达到实时,造成许多复杂风格化渲染无法应用到三维风格化游戏以及三维风格化虚拟环境漫游等实时场合。在动画制作领域,目前渲染一幅画面平均用10分钟,若能进行实时渲染,则可大大提高动画渲染效率,降低动画制作成本。
最近几年由于GPU技术的迅猛发展,有许多人开始利用GPU来加速三维图形绘制方面的研究工作,但目前大多数仍是朝着真实感图形绘制,只有少部分朝着非真实感绘制,如机械示意图,钢笔画,半色调,点刻以及卡通效果渲染等。

发明内容
本发明的目的是提供一种基于图形处理器的三维水墨效果渲染方法,通过GPU提供的可编程流水线把软件的灵活性与GPU的硬件速度相结合,把三维模型实时渲染成中国水墨画效果。
为了实现上述目的,本发明的技术解决方案是利用GPU提供的可编程流水线对中国山水画中常见物体进行分类,并提出山峦、云海、瀑布以及树木的水墨效果渲染方法,为了保持水墨风格特征,提出对场景中动态物体如云海、瀑布与静态物体如山峦交界区域的处理方法。
本发明方法包括以下步骤1.利用输入指令输入场景模型以及水墨风格纹理库;2.基于水墨风格纹理阵列的多层水墨风格山峦渲染;3.基于位移映射方法的水墨风格云海渲染;4.基于纹理运动方法的水墨风格瀑布渲染;5.基于Billboard方法的水墨风格树木渲染;6.动画视频输出。
上述的利用输入指令输入场景模型以及水墨风格纹理库,包括如下步骤
1)输入构成场景的山峦、云海、瀑布以及树木的三维模型,其中山峦模型有多层,对应远景山峦,中景山峦和近景山峦;2)输入水墨风格纹理库,纹理库中包括山峦纹理阵列,云海纹理,瀑布纹理、树干纹理以及树叶纹理,其中山峦纹理阵列共有3行4列,其中行对应不同层次山峦,列对应不同光亮度。
上述的基于水墨风格纹理阵列的多层水墨风格山峦渲染,包括如下步骤1)读取多层山峦模型及山峦纹理阵列;2)利用法向量纹理图像提取山峦模型轮廓线以及表面摺线,用GPU中的像素着色器对其进行膨胀处理后再进行反走样绘制;3)检测山峦模型在三维场景中的所在层位置,用GPU的像素着色器在山峦纹理阵列中调用相应层的水墨风格纹理并映射到山峦模型上;4)根据统计方法得到水墨画山峦的艺术光照信息,把该信息与传统光照模型相结合得到艺术光照模型,用其确定映射纹理后山峦的明暗;5)确定山峦模型底部和云海接触部分的雾化区域,在该区域内用GPU的像素着色器对山峦水纹理和云海纹理其进行Alpha过渡淡化处理。
上述的基于位移映射方法的水墨风格云海渲染,包括如下步骤1)读取云海模型及云海纹理;2)在GPU的顶点着色器中对云海模型上的顶点用位移映射方法进行随机正弦扰动,同时控制顶点纹理坐标随时间变化;3)检测山峦模型在云海模型相交位置,确定底部过渡淡化范围;4)用横向、竖向高斯滤波系数相乘构成25×25像素高斯滤波器,用其对山峦底部过渡淡化区域进行模糊处理;5)在GPU的像素着色器中用Alpha融合在山峦底部把云海纹理与山峦纹理进行过渡淡化处理。
上述的基于纹理运动方法的水墨风格瀑布渲染,包括如下步骤1)读取瀑布模型及瀑布纹理;2)把国画风格瀑布纹理影射到瀑布所在曲面;3)在GPU的顶点着色器中用纹理运动方法控制瀑布纹理坐标从上向下运动,横向保持不变,纹理坐标运动速度可调;4)在瀑布模型左右边缘另行构建两个窄带模型,用窄带模型上的相对纹理坐标作为Alpha通道瀑布水墨风格纹理和山峦水墨风格纹理进行过渡淡化处理,在瀑布模型底部需要位置对瀑布水墨风格纹理和山峦水墨风格纹理进行Alpha过渡淡化处理。
上述的基于Billboard方法的水墨风格树木渲染,包括如下步骤1)读取树干模型,树干纹理,树叶模型及树叶纹理;2)利用法向量纹理图像提取树干模型的轮廓线以及表面摺线,在GPU的像素着色器内对其进行膨胀处理后再进行反走样绘制;3)把国画树干纹理影射到树干模型上;4)根据树叶朝向、位置以及前后浓淡关系把不同树叶纹理分类,用Billboard方法绘制树叶。
本发明的基于图形处理器的三维水墨效果渲染方法,具有以下有益效果1)对山水画中常见物体分类,提出的山峦、云海、瀑布和树木渲染方法在三维环境里有效地保持了这些物体的水墨风格特征。
2)对场景中动态物体如云海、瀑布与静态物体如山峦交界区域的处理方法既表现了动态物体的运动,又保持了它们的水墨风格特征。
3)渲染速度达到实时。


图1是用于实现本发明方法的系统框图;图2是本发明基于图形处理器的三维水墨效果渲染方法流程图;图3是本发明中的基于水墨风格纹理阵列的多层水墨风格山峦渲染流程图;图4是本发明中的基于位移映射方法的水墨风格云海渲染流程图;图5是本发明中的基于纹理运动方法的水墨风格瀑布渲染流程图;图6是本发明中的基于Billboard方法的水墨风格树木渲染流程图。
具体实施例方式
用于实现本发明方法的系统,如图1所示,其包括三维物体模型输入接口100,风格化纹理库110,分类物体渲染120,图形处理器(GPU)130和动画视频输出140,其中,分类物体渲染120包括山峦渲染121,云海渲染122,瀑布渲染123,树木渲染124。
本发明的基于图形处理器的三维水墨效果渲染方法流程如图2所示,该流程依次按如下步骤1.利用输入指令输入场景模型以及水墨风格纹理库;2.基于水墨风格纹理阵列的多层水墨风格山峦渲染;3.基于位移映射方法的水墨风格云海渲染;4.基于纹理运动方法的水墨风格瀑布渲染;5.基于Billboard方法的水墨风格树木渲染;6.动画视频输出。
以下结合实例详细说明上述步骤。
步骤1利用输入指令输入场景模型以及水墨风格纹理库,在系统中通过在三维物体模型输入接口100以及风格化纹理库110实现。
三维物体模型输入接口100对应分类物体山峦、云海、瀑布以及树木,利用输入命令便可输入对应类的物体模型。
风格化纹理库110中预存分类物体纹理,跟随输入命令对应类纹理输入。
预存分类物体纹理包括山峦风格化纹理阵列,共3行4列,其中行对应不同层次山峦,列对应不同光亮度。在本实例中,山峦纹理阵列中的每个纹理单元为256×256像素;云海风格化纹理,其大小要覆盖住设计场景,在本实例中为3200×1200像素;瀑布风格化纹理,在本实例取140×800像素;树干风格化纹理,在本实例中取130×180像素;树叶风格化纹理,在本实例中取80×60像素。
步骤2基于水墨风格纹理阵列的多层水墨风格山峦渲染流程如图3所示,它包括如下步骤1)读取山峦模型及山峦纹理阵列。系统读取多层山峦模型以及山峦纹理阵列,多层山峦模型由远景山峦,中景山峦和近景山峦构成。山峦纹理阵列共有3行4列,其中第一行对应远景山峦,第二行对应中景山峦,第三行对应近景山峦,列对应不同光亮度。
2)绘制法向量纹理图像。把模型的法向量信息绘制成绘制法向量纹理图像。
3)提取轮廓线和表面褶线。先利用法向纹理图像中的背景颜色提取物体轮廓线,再利用模型法矢量夹角大小提取表面褶线。
4)膨胀和反走样。利用GPU中的像素着色器完成膨胀和反走样处理。
5)检测多层山峦并映射相应纹理。利用GPU像素着色器检测山峦所在层位置,调用对应层山峦纹理并映射到对映射到峦模型上。
6)艺术光照处理。根据对给定风格样本统计得到的艺术光亮度沿山峦高度变化曲线。该曲线获得方法如下在手工绘画的山峦样本中沿着山体的高度在山体上等距离取若干条采样带,然后计算采样带的平均亮度值。画出光亮度沿着山体高度的变化关系曲线。把该曲线与传统光照模型进行加权叠加,叠加的权重根据试验最后确定分别为0.6和0.4。山峦陡峭程度利用山峦模型的Up矢量和物体表面的法向量的点积来近似,得到山峦陡峭光亮度图,进一步把叠加结果图与山峦表面陡峭光亮度图比较,取亮度值低的为最终光亮度值。
7)山峦底部淡化处理。山峦底部处理以山峦模型底部为参考,向上取山峦模型高度的0.2倍作为山峦底部雾化区域,以此高度设置一个雾化参数,在雾化区域内把云雾纹理同山峦纹理进行Alpha混合。
步骤3基于位移映射方法的水墨风格云海渲染流程如图4所示,它包括如下步骤1)读取云海模型及云海纹理。读取三维云海模型以及云海水墨风格纹理。
2)对云海模型顶点随机扰动。用位移映射方法在GPU的顶点着色器中对模型顶点进行随机正弦扰动。设TexCrd(u,v)为顶点纹理坐标,其中u,v为纹理坐标空间变量,DirX和DirY为设定的两个初始方向,则该顶点的初始扰动方向InitDir为InitDir=DirX×TexCrd.u+DirY×TexCrd.v3)令顶点纹理坐标随时间变化。利用GPU的顶点着色器中对顶点纹理坐标随时间进行周期性变化。
4)根据山峦位置确定底部淡化范围,把它渲染成一个白色的区域保存在绘制目标缓冲区中。
5)构建高斯滤波器对淡化范围模糊。把高斯模糊的权值计算公式分解为水平方向和垂直方向两个权值的积g2D(x,y)=12πσ2ex2+y22σ2=(1(2π)1/4σex22σ2)·(1(2π)1/4σey22σ2)]]>=g1D(x)·g1D(y)其中g2D(x,y)为在(x,y)象素的权值,σ为高斯模糊标准半径,x.y为相对中心象素的坐标,g1D(x)为水平方向权值,g2D(y)为垂直方向的权值。二者相乘得到25×25像素的高斯模糊器并对4)中的白色区域进行高斯模糊。
6)模糊区域云海纹理与山峦纹理融合。把模糊后的云海纹理颜色值作为该区域云海象素的Alpha值与山峦融合。
步骤4基于纹理运动方法的水墨风格瀑布渲染流程如图5所示,它包括如下步骤1)读取瀑布模型及瀑布纹理。读取三维瀑布模型以及瀑布水墨风格纹理。
2)瀑布纹理坐标移动。把水墨风格瀑布纹理影射到瀑布所在曲面,在GPU顶点着色器中令瀑布纹理坐标从上向下运动,横向保持不变。
3)瀑布左边缘处理。把瀑布左边缘切割出一窄条,其宽度为瀑布宽度的0.15倍,并把它们的水平方向纹理坐标设成从0到1线性变化,以此为参数在GPU像素着色器里把山体纹理与瀑布纹理进行Alpha混合。
4)瀑布右边缘处理。把瀑布右边缘各切割出一窄条,其宽度为瀑布宽度的0.15倍,并把它们的水平方向纹理坐标设成从1到0线性变化,以此为参数在GPU像素着色器里把山体纹理与瀑布纹理进行Alpha混合。
5)瀑布底部处理。以瀑布模型底部为参考,向上取瀑布模型高度的0.25倍作为瀑布底部的淡化区域,根据瀑布竖直方向纹理坐标来进行Alpha融合。
步骤5基于Billboard方法的水墨风格树木渲染流程如图6所示,它包括如下步骤1)读取树干模型及树干、树叶纹理。读取三维树干模型,树干纹理,Bollboard树叶模型以及树叶纹理。
2)绘制树干轮廓线。把树干模型的法向量信息绘制成图像,然后利用法向纹理图像中的背景颜色提取物体轮廓线,并对其进行膨胀和反走样处理。
3)映射树干纹理。把水墨树干纹理影射到树干模型上。
4)树叶纹理分类。根据树叶朝向、位置以及前后浓淡关系把树叶纹理分类。
5)树叶绘制。用Billboard方法把树叶纹理影射到Bollboard树叶模型上。
步骤6动画视频输出,按照标准AVI格式把渲染的水墨效果场景实时输出视频动画。
本发明使用的GPU是ATI 9800图形处理器,并在PC平台上基于Direct3D 9.0实现。
权利要求
1.基于图形处理器的三维水墨效果渲染方法,包括以下步骤1)利用输入指令输入场景模型以及水墨风格纹理库;2)基于水墨风格纹理阵列的多层水墨风格山峦渲染;3)基于位移映射方法的水墨风格云海渲染;4)基于纹理运动方法的水墨风格瀑布渲染;5)基于Billboard方法的水墨风格树木渲染;6)动画视频输出。
2.按照权利要求1所述方法,其特征在于所说的利用输入指令输入场景模型以及水墨风格纹理库,包括如下步骤a、输入构成场景的山峦、云海、瀑布以及树木的三维模型,其中山峦模型有多层,对应远景山峦,中景山峦和近景山峦;b、输入水墨风格纹理库,纹理库中包括山峦纹理阵列,云海纹理,瀑布纹理、树干纹理以及树叶纹理,其中山峦纹理阵列共有3行4列,其中行对应不同层次山峦,列对应不同光亮度。
3.按照权利要求1所述方法,其特征在于所说的基于水墨风格纹理阵列的多层水墨风格山峦渲染,包括如下步骤a、读取多层山峦模型及山峦纹理阵列;b、利用法向量纹理图像提取山峦模型轮廓线以及表面摺线,用图形处理器中的像素着色器对其进行膨胀处理后再进行反走样绘制;c、检测山峦模型在三维场景中的所在层位置,用图形处理器的像素着色器在山峦纹理阵列中调用相应层的水墨风格纹理并映射到山峦模型上;d、根据统计方法得到水墨画山峦的艺术光照信息,把该信息与传统光照模型相结合得到艺术光照模型,用其确定映射纹理后山峦的明暗;e、确定山峦模型底部和云海接触部分的雾化区域,在该区域内用图形处理器的像素着色器对山峦水纹理和云海纹理其进行Alpha过渡淡化处理。
4.按照权利要求1所述方法,其特征在于所说的基于位移映射方法的水墨风格云海渲染,包括如下步骤a、读取云海模型及云海纹理;b、在图形处理器的顶点着色器中对云海模型上的顶点用位移映射方法进行随机正弦扰动,同时控制顶点纹理坐标随时间变化;c、检测山峦模型在云海模型相交位置,确定底部过渡淡化范围;d、用横向、竖向高斯滤波系数相乘构成25×25像素高斯滤波器,用其对山峦底部过渡淡化区域进行模糊处理;e、在图形处理器的像素着色器中用Alpha融合在山峦底部把云海纹理与山峦纹理进行过渡淡化处理。
5.按照权利要求1所述方法,其特征在于所说的基于纹理运动方法的水墨风格瀑布渲染,包括如下步骤a、读取瀑布模型及瀑布纹理;b、把水墨风格瀑布纹理影射到瀑布所在曲面;c、在图形处理器的顶点着色器中用纹理运动方法控制瀑布纹理坐标从上向下运动,横向保持不变,纹理坐标运动速度可调;d、在瀑布模型左右边缘另行构建两个窄带模型,用窄带模型上的相对纹理坐标作为Alpha通道瀑布水墨风格纹理和山峦水墨风格纹理进行过渡淡化处理,在瀑布模型底部需要位置对瀑布水墨风格纹理和山峦水墨风格纹理进行Alpha过渡淡化处理。
6.按照权利要求1所述方法,其特征在于所说的基于Billboard方法的水墨风格树木渲染,包括如下步骤a、读取树干模型,树干纹理,树叶模型及树叶纹理;b、提取树干模型的轮廓线以及表面摺线,在图形处理器的像素着色器内对其进行膨胀处理后再进行反走样绘制;c、把水墨树干纹理影射到树干模型上;d、根据树叶朝向、位置以及前后浓淡关系把不同树叶纹理分类,用Billboard方法绘制树叶。
全文摘要
本发明公开的基于图形处理器的三维水墨效果渲染方法,是利用图形处理器提供的可编程流水线对中国山水画中常见物体进行分类,提出山峦、云海、瀑布以及树木的水墨效果渲染方法,实现了场景中动态物体如云海、瀑布的运动以及它们与静态物体如山峦交界区域的处理。采用本发明方法可以在三维环境里有效地保持了这些物体的水墨风格特征。对场景中动态物体与静态物的处理方法既表现了动态物体的运动,又保持了它们的水墨风格特征。渲染速度达到实时。
文档编号G06T15/10GK1750046SQ200510061179
公开日2006年3月22日 申请日期2005年10月20日 优先权日2005年10月20日
发明者于金辉, 张海嵩, 尹小勤 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1