轮廓线优化的多通道三维水墨渲染模型
2015-07-18陈添丁金炜炜陈英旦徐先力余长宏
陈添丁金炜炜 陈英旦 徐先力 余长宏
(浙江工商大学信息与电子工程学院 杭州 310018)
轮廓线优化的多通道三维水墨渲染模型
陈添丁*金炜炜 陈英旦 徐先力 余长宏
(浙江工商大学信息与电子工程学院 杭州 310018)
3维水墨风格模拟是非真实绘图(NPR)的重要课题之一。传统的渲染方法局限于黑白墨色,色彩单一。该文提出一种轮廓线优化的多通道3维水墨渲染模型。首先,利用光照模型配合Alpha通道,完成3维水墨画的内部着色;其次,运用网格模型扩张实现轮廓线的风格化;最后,利用表优先级3维深度排序算法隐去Alpha通道中多余的轮廓线,实现3维水墨渲染图像输出。实验结果表明,该方法渲染效果好,轮廓线优化使水墨效果更加逼真,多通道的渲染图像输出也方便后期的图像处理。
图像处理;非真实绘图;轮廓线风格化;水墨画;纹理贴图;表优先级算法
1 引言
随着非真实绘图(Non-Photorealistic Rendering, NPR)[1,2]的研究逐步成熟,以东方画系为代表的中国水墨画仿真研究也取得令人瞩目的成绩,填补了水墨画艺术仿真在3D渲染领域的空白。而且,对中国水墨画3D渲染技术[3,4]的研究,无论在艺术传承还是科学研究方面,都有着深远的意义以及广阔的应用前景。
传统的3维水墨风格模拟是单纯地通过光照模型实现3D明暗效果以及通过轮廓线的查询,提取出空间模型的轮廓线。因此,导致3维水墨效果色彩单一,大多只有黑白两种颜色,而少部分彩色的渲染效果由于其光照模型的局限而显得很生硬呆板,只是大块颜色的填充,缺少对内部纹理的添加和细致描述;在轮廓线处理上,也只是单一的描绘呈现,很少有对其风格化[5]进行研究。本文提出一种轮廓线优化的多通道3维水墨渲染模型,主要是在光照模型的基础上增加了Alpha通道,效果得到改进,使水墨风格更加逼真。再进一步利用纹理映射为物体增添了水墨纹理,并对轮廓线做了相应的水墨风格化以及多余轮廓线的隐去处理。最后利用多通道的渲染技术输出不同通道中的图像,便于图像后期的再加工处理。
2 系统架构
本文的3维水墨渲染模型中,利用帧缓存器独立地计算直接照明、间接照明、阴影、反射以及折射等不同的元素,每一种元素都有其特定的通道,分别存储在预定的文件中。
所谓的帧缓存器(frame buffer),它是屏幕所显示画面的一个直接映像,又称为位映射图。帧缓存的每一存储单元对应屏幕上的一个像素,整个帧缓存对应一帧图像。
在帧缓存器设定中,主要的参数有Z深度通道、入射光通道、折射光通道等,如图1所示。
图1 多通道帧缓存器
本文的3维水墨渲染模型的流水线分为两个部分:着色渲染和轮廓线处理。其中着色渲染是为了模拟出水墨在3维光照模型上的扩散效果;轮廓线处理则是为了模拟出毛笔笔触的效果[7]。
具体流水线如图2所示。
3 着色渲染
3.1 基于光照的着色模型
基于光照的着色处理主要是利用光线和模型表面的交互来实现物体表面的颜色变化。场景内的光线主要有3种,分别是直接光照、间接光照和反射光照。着色模型[8]是通过对多边形顶点的颜色进行平均分布来得到多边形内部的颜色。
相应地需要为物体的材质建立模型,以此来反映它们对光线的作用方式。物体的材质主要有4个属性,即对环境光的反射率、对漫反射光的反射率、对镜面反射光的反射率以及镜面反射的光泽系数。3个反射率都包括了颜色信息,它们通过RGB分量来指定。在开放性图形库(OpenGL)中利用多边形的双面性,允许为材质指定照亮多边形的前向面还是背面,然后分别定义为环境光反射率(Ka)、漫反射光反射率(Kd)、镜面反射光反射率(Ks)以及光泽系数(rough)[8]。具体的计算如式(1)所示。
除上述性能检验之外,作为伪随机序列,还需要检验其随机性。在通信系统中,序列随机性能跟系统的信息安全性能息息相关,随机性能良好的伪随机序列,系统的信息安全性也好。因此对混合混沌序列也要进行随机性分析[16]。
图2 3维水墨渲染流水图
式中Ci是光照颜色值,Oi表示透明度系数;Cambi, Cdiff, Cspec分别代表环境光颜色、漫反射颜色以及镜面反射颜色的分量值;N, R分别代表法线和灯光颜色的光亮度;Li和CLi分别表示灯光方向和反射方向的光亮度。
根据水墨画的低高光特性,本文选用的是非真实绘图的图像渲染研究中广泛使用的渐变材质。由于环境光其光强分布是均匀的,它在任何一个方向上的分布都相同,区分不出哪处明亮,哪处暗淡。所以只有环境光是不能产生真实感图形的。漫反射光的强度近似地服从Lambert定律,即漫反射光的光强仅与入射光的方向和反射点处表面法向夹角的余弦成正比,即只与物体表面与光源射来的光线的垂直程度相关。低的高光镜面反射表现了粗糙表面上的光照现象,如石灰粉刷的墙壁、作画的宣纸等,常采用Phong[9]提出的一个经验模型。因此,Ka, Kd, Ks, rough四者的属性值分别取0, 0.8, 0.3, 0.4。本文利用Phong[9]明暗处理技术进行插值运算,好处是使每个像素在多边形内部平滑变化。
3.2 Alpha通道的引入
基于光照的着色模型效果虽然有了颜色的渐变以及光照的阴影,但太过生硬,大面积的着色[10]没有体现出水墨那种浓淡相间的风格。通过Alpha通道的引入,可以实现水墨浓淡的变化。通常情况下,Alpha通道有着与颜色通道[11]相同的位数,控制着图形渲染的透明度值。其值标准化的数值范围为[0,1],其中最小值为0,表示全透明状态;最大值为1,表示完全不透明状态;当值为0.5时,表示半透明状态。其混合方程如式(2)所示。
式中,c表示混合颜色值;α表示片元的透明度;cf表示片元的颜色值;cp表示像素的颜色值。使用2维高斯平滑函数,使α值平滑过渡,cn则用稍亮的像素进行调色。利用此渐变效果作用到原模型渲染中,便可以得到浓淡相间水墨扩散的效果。
3.3 纹理映射
通过对模型的纹理生成和映射[12],可使内部颜色增添细节的变化,从而提高模型渲染的精致度。纹理映射流程图如图3所示。
图3 纹理映射流程图
2维柏林(Perlin)噪声[13]常用来模拟自然界的自相似过程,如模拟云朵、火焰等非常复杂的纹理[14]。利用输入2维Perlin噪声,并对其进行纹理坐标变换来生成荷花的纹理。一般在设置纹理坐标时,其相对纹理坐标的u,v取值范围都是[0,1],而为了得到效果图的拉丝效果,用映射函数将u坐标的映射范围缩小到[0,0.3],而保持v的坐标取值不变,然后对RGB通道分别进行1.00, 0.18, 0.37量的偏移(默认数值RGB全为0),便得到了荷花粉红色的拉丝状纹理。
4 轮廓线处理
4.1 轮廓线风格化
轮廓线的绘制是3维模型渲染的主要内容之一,对轮廓线的风格化绘制[15-17]也是一种重要的表现形式,主要在非真实绘图的图像渲染研究领域里用来表现特定的艺术特征,比如水墨和油画等。
利用纹理贴图的方法对轮廓线进行水墨风格化。首先,利用法向量夹角边缘轮廓判定算法获得3维模型的轮廓线,然后构造用于纹理贴图的四边形。将3维网格模型特征线的两端点沿3维网格模型顶点法向量方向按一定的权重β扩张成为新的端点。特征线的一个端点用v表示,单位法向量为N,新端点坐标v′则为
特征线的两个端点v1与v2分别沿其法向量N1, N2移动个单位得到新的端点v′1与v′2,将不同艺术风格的2维纹理贴图映射到新构成的四边形里,便可以得到铅笔画、水彩画和水墨画等具有不同轮廓风格的图画[18]。本文实验多种不同轮廓线笔画效果,尝试了不同的颜色,得到不同的效果,如表1所示。
不同的笔画所体现的艺术风格各不相同。从颜色的角度来说,在3维水墨风格模拟中,多以黑色来描绘轮廓;从笔画的风格上来看,1号笔画更符合水墨扩散的真实物理特性,2号和3号笔画则可以分别用来模拟铅笔画和水彩画。
4.2 多余轮廓线隐去
?
由于引入了Alpha通道,透明的材质容易造成多余的轮廓线,即在物体背面理应被遮挡、要进行隐藏的区域也有了轮廓线的描绘,影响视觉效果。对于消除隐藏面影响效果的多余轮廓线,目前应用最广的是利用Z缓冲器生成深度图(Depth Map, DM)(物体到摄影机的最近距离)。然后再与每个点的深度值(Z值)进行比较,若Z值大于DM值,也就是该点的距离较DM参考点的距离远,则该点是被遮挡住的,舍弃该点的轮廓线信息。反之,则保留下该点的轮廓线信息。最后留下的点则构成物体在3维空间的轮廓线。
虽然上述算法运算速度快,对场景的复杂度也没有上限要求,但其有不适用于处理透明物体。因此,采用表优先级3维深度排序算法进行多余轮廓线的隐去,该算法在处理每一幅画面时,会动态地计算和产生一个新的深度优先表(depth priority list),在通过一系列检验确定其深度优先表正确后,写入帧缓存器,否则重新计算并产生一个新的深度优先表。
假定视点在Z轴正向无穷远处,则该算法步骤如下:
(1)将场景中的多边形序列在其Z坐标的最小值Zmin(物体上离视点最远的点)上进行排序;
(2)当物体间的Z值范围不重叠时,假设多边形P的Zmin在步骤(1)排序中最小,如果多边形P的Z值范围与Q的Z值范围不重叠,即PZmax<QZmin,此时可以判定多边形P的优先级最低,如图4所示。
图4 Z值范围不重叠
(3) 当物体间的Z值范围重叠时,判断多边形P是否遮挡场景中多边形Q。需要作5个判别步骤:
(a)多边形P和Q的x坐标范围是否不重叠;
(b)多边形P和Q的y坐标范围是否不重叠;
(c)多边形P和Q在xy平面上的投影是否不重叠;
(d)从视点看去,多边形P是否完全位于Q的背面;
(e)从视点看去,多边形Q是否完全位于P的同一侧。
(4) 如果步骤(3) 5种情况只要有一种成立,就表明多边形P和Q是互不遮挡的,即多边形P的绘制优先级低于Q;
(5) 如果步骤(3)判断都不成立,说明多边形P有可能遮挡Q,此时把多边形P和Q进行互换重新判断;
(6) P和Q交换顺序后,仍不能判断其优先级顺序,则将P沿Q所在平面分割成两部分P1和P2,从深度优先表中去掉原多边形P,而将P的这两个新的部分插入原深度优先表中的适当位置,使其仍保持按Zmin排序的性质,然后重新执行步骤(5)。上述表优先级3维深度排序算法总是可以实现多边形在复杂场景中的深度排序,并且可以有效地适用于透明物体。采用此算法对轮廓线进行隐藏处理后,得到图5的前后对比图。
图5 轮廓线处理前后对比视图
5 实验结果与分析
本文是在Maya2012(包含OpenGL及DirectX图形程序接口)的软件环境,和配置为Intel(R) Core(TM) 3.1 GHz, NVIDIA Ge Force 8400M GS 256M, 2.85 GB DDR RAM, Windows XP的操作系统中,完成了轮廓线优化的3维水墨渲染过程。
在加入轮廓线处理后,实验对4个模型进行了直接、分层以及多通道的水墨风格渲染横向对比分析,在同样的参数设置情况下,相比较直接渲染,虽然在渲染时间有所牺牲,但是若用多通道渲染,那么后期合成时可以单独调节,如高光、反射、阴影、特效等的合成效果,呈现更多变;相比较分层渲染,虽然无法对场景模型进行分割,但是多通道渲染效率更高。结果比较如图6所示。图7是本文算法得到的不同模拟对象的3维水墨渲染效果图。渲染效率参数对比如表2所示。
表2 渲染效率对比
图6 通道参数变化的渲染效果对比图(图中Ka为环境光反射率,Oi为Alpha参数)
图7 3维水墨渲染效果图
6 结束语
本文提出一种轮廓线优化的多通道3维水墨渲染模型,首先通过在光照模型的基础上增加对Alpha通道的改进,利用纹理映射为物体增添水墨纹理实现了3D彩墨内部着色。接着运用网格模型扩张及表优先级3维深度排序算法实现轮廓线的风格化绘制与多余轮廓线的消除;最后利用多通道渲染技术输出场景中不同通道的3维水墨渲染图像。本文方法色彩丰富、纹理逼真、轮廓线灵活,且多通道的输出便于渲染图像的后期再加工处理。
[1] Zou Dan, Qian Wen-hua, Xu Jin, et al.. Non-photorealistic rendering effect of halftoning[C]. Applied Mechanics and Materials, Swizerland, Aug. 2013: 473-477.
[2] Zhao Yang, Qian Wen-hua, Xu Jin, et al.. Sketch simulating based on non-photorealistic rendering[C]. Applied Mechanics and Materials, Swizerland, Aug. 2013: 3619-3622.
[3] Fattal D, Peng Z, Tran T, et al.. A multi-directional backlight for a wide-angle, glasses-free three-dimensional display[J]. Nature, 2013, 495(7441): 348-351.
[4] Lawonn K, Moench T, and Preim B. Streamlines for illustrative real-time rendering[J]. Computer Graphics Forum, 2013, 32(3): 321-330.
[5] Kang S J and Kim C H. Real-time 3D sumi-e painting[J]. ACM SIGGRAPH Technical Sketch, 2003, 19(3): 74-81.
[6] 申小春. 3ds Max中水墨效果渲染技巧探讨[J]. 数字技术与应用, 2013, 8: 199-200. Shen Xiao-chun. Investigate the effect of 3ds Max ink rendering techniques[J]. Technology and Application of Digital, 2013, 8: 199-200.
[7] Zhang Long, He Ying, and Seah H S. Real-time computation of photic extremum lines (PELs)[J]. The Visual Computer, 2010, 26(6-8): 399-407.
[8] 陈虎, 杨克检. 延迟着色的渲染管线优化[J]. 现代计算机, 2011, 6: 38-41. Chen Hu and Yang Ke-jian. Delay color rendering pipeline optimization[J]. Modern Computer, 2011, 6: 38-41.
[9] 朱国仲, 张帆, 布辉. 使用多重纹理实时绘制Phong高光表面[J]. 计算机工程与科学, 2011, 7: 85-88. Zhu Guo-zhong, Zhang Fan, and Bu Hui. Using multiple real-time rendering Phong specular surface texture[J]. Computer Engineering and Science, 2011, 7: 85-88.
[10] Rosin P L and Lai Yu-kun. Artistic minimal rendering with lines and blocks[J]. Graphical Models, 2013, 75(4): 208-229.
[11] Zhan Jun-si and Yu Li. Study on the color rendering effect of high glossy color inkjet paper[C]. Applied Mechanics and Materials, Swizerland, Aug. 2013: 286-291.
[12] Sun Xin and Xie Guo-fu. Diffusion curve textures for resolution independent texture mapping[J]. ACM Transactions on Graphics, 2012, 31(4): 74.
[13] Kass M and Pesare D. Coherent noise for non-photorealistic rendering[J]. ACM Transactions on Graphics, 2011, DOI: 10.1145/2010324.1964925.
[14] Caron J and Mould D. Partition of unity parametrics for texture synthesis[C]. GI’13 Proceedings of Graphics Interface, Canada, May 2013: 173-179.
[15] Grabli S and Turquin E. Programmable rendering of line drawing from 3D scenes[J]. ACM Transactions on Graphics, 2010, DOI: 10.1145/17131047. 1731056.
[16] Wang Lei, Ye Wan-fang, Duan Ming, et al.. Real-time rendering of flames on arbitrary deformable objects[J]. SCIENCE CHINA Information Sciences, 2013, 56(8): 228-236.
[17] 蒋宝吉, 唐棣. 基于三维模型的风格化线条渲染方法[J]. 计算机科学, 2013, 40(10): 289-291. Jiang Bao-ji and Tang Di. The style lines rendering method based on 3D model[J]. Computer Science, 2013, 40(10): 289-291.
[18] Chiew Wei-ming, Lin Feng, Qian Ke-mao, et al.. A heterogeneous computing system for coupling 3D endomicroscopy with volume rendering in real-time image visualization[J]. Computer in Industry, 2014, 65(2): 367-381.
陈添丁: 男,1968年生,博士,副教授,主要研究方向为智能图像处理、视觉理解与非真实成像.
余长宏: 男,1978年生,博士,副教授,主要研究方向为智能信息处理与CMOS电路优化.
Contour Optimization of Multi-channel 3D Chinese Ink Rendering Model
Chen Tian-ding Jin Wei-wei Chen Ying-dan Xu Xian-li Yu Chang-hong
(School of Information & Electronic Engineering, Zhejiang Gongshang University, Hangzhou 310018, China)
The simulation of 3D Chinese ink painting style is an important research topic of the Non-Photorealistic Rendering (NPR). The traditional rendering methods are mostly confined to black and white ink. This paper puts forward a contour optimization of multi-channel 3D ink rendering model. Firstly, this method completes the inner coloring of multi-color ink by using the illumination model with the Alpha channel. Then it achieves contour stylization by means of the grid model expansion and texture map. Lastly, it hides the excess contours on the Alpha channel through the table priority algorithm of 3D depth sorting method for achieving the output of 3D Chinese ink rendering images. The experimental results demonstrate that the rendering effects under contour stylization provide more vivid ink effects. And the output of multi-channel images facilitates the following images procession as well.
Image processing; Non-Photorealistic Rendering (NPR); Contour stylized; Chinese ink painting; Texture map; Table priority algorithm
TN911.73
A
1009-5896(2015)02-0494-05
10.11999/JEIT140434
2014-04-03收到,2014-10-16改回
国家自然科学基金(61172172),浙江省教育厅基金(Y201432227)和浙江省自然科学基金(LQ12F01005)资助课题
*通信作者:陈添丁 chentianding@163.com