CN100476878C - 一种交互式水墨风格实时3d渲染及实现动画的方法 - Google Patents

一种交互式水墨风格实时3d渲染及实现动画的方法 Download PDF

Info

Publication number
CN100476878C
CN100476878C CNB2005101214884A CN200510121488A CN100476878C CN 100476878 C CN100476878 C CN 100476878C CN B2005101214884 A CNB2005101214884 A CN B2005101214884A CN 200510121488 A CN200510121488 A CN 200510121488A CN 100476878 C CN100476878 C CN 100476878C
Authority
CN
China
Prior art keywords
summit
tabulation
backbuffer
rear end
buffer memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2005101214884A
Other languages
English (en)
Other versions
CN1991915A (zh
Inventor
刘皓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tencent Domain Computer Network Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CNB2005101214884A priority Critical patent/CN100476878C/zh
Publication of CN1991915A publication Critical patent/CN1991915A/zh
Application granted granted Critical
Publication of CN100476878C publication Critical patent/CN100476878C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明适用于计算机绘图领域,提供了一种交互式水墨风格实时3D渲染及实现动画的方法,所述方法包括下述步骤:1.1对普通网格模型进行前期模型预处理,生成一条带有相邻面法线信息的边的列表;1.2查找轮廓边顶点,以双法线的逐顶点判断轮廓边顶点;1.3将模型渲染到显卡的后端缓存Backbuffer,对可见轮廓边的顶点进行可视剔除;1.4把剔除后的可见轮廓边顶点连接成笔划,以笔划裹上画家笔触;1.5模型内部着色。本发明可以在低端显卡上实现水墨风格的应用,同时可以将水墨效果的计算机图形整合到游戏图形引擎中时,产生需要的动画效果。

Description

一种交互式水墨风格实时3D渲染及实现动画的方法
技术领域
本发明属于计算机绘图领域,尤其涉及实现交互式水墨风格实时3D渲染的方法。
背景技术
近年来,计算机绘图(Computer Graphics)领域的发展,可分为两个研究方向:一个是对于真实物理光影模型的研究,做出最趋近于人眼睛所见到的真实世界效果,称之为相片写实绘图(Photorealistic Rendering)技术,在计算机游戏、电影特效上我们可以看到它的蓬勃发展;另一则是研究画家透过画笔勾勒出其想象创作空间及抽象意境,所创作出的作品效果,此研究方向称之为非相片写实绘图(Non-Photorealistic Rendering)技术。
以非相片写实绘图的研究领域而言,目前发展较多而且较成熟的,大概都是与西方绘画艺术有关的,如素描、水彩画等。在实现中国水墨风格方面,需要使用到高端显卡的Z-Buffer(Z缓存),而低端显卡不支持对Z-Buffer的锁定读取,因此限制了水墨风格在低端显卡上的应用。
同时,在将水墨效果的计算机图形整合到游戏图形引擎中时,需要产生动画效果,目前这种应用无论在高端显卡上还是低端显卡上都没有实现。
发明内容
本发明的目的在于提供一种交互式水墨风格实时3D渲染方法,旨在解决现有技术中存在的在实现中国水墨风格渲染时,难以应用在低端显卡上的问题。
本发明的另一个目的在于提供一种交互式水墨风格实时3D渲染的动画实现方法,旨在解决现有技术中无法将水墨效果的计算机图形生成动画的问题。
本发明是这样实现的:
一种交互式水墨风格实时3D渲染方法,所述方法包括下述步骤:
1.1对普通网格模型进行前期模型预处理,生成一条带有相邻面法线信息的边的列表;
1.2查找轮廓边顶点,以双法线的逐顶点判断轮廓边顶点;
1.3将模型渲染到显卡的后端缓存Backbuffer,对可见轮廓边的顶点进行可视剔除,具体包括:
1.3.1将模型渲染到显卡的后端缓存Backbuffer,清除后端缓存Backbuffer的颜色为白色;
1.3.2把轮廓边顶点进行微偏移后以黑色渲染到后端缓存Backbuffer,后端缓存Backbuffer上显示的黑点为可见的轮廓边顶点;
1.3.3锁定后端缓存Backbuffer,以轮廓边顶点投影后的屏幕坐标x、y索引后端缓存Backbuffer,若后端缓存数组Backbuffer[x][y]对应的顶点为黑色,则此轮廓边顶点可见;
1.4把剔除后的可见轮廓边顶点连接成笔划,以笔划裹上画家笔触;
1.5模型内部着色。
所述步骤1.3进一步包括下述步骤:
2.1将模型渲染到显卡的后端缓存Backbuffer,清除后端缓存Backbuffer的颜色为白色;
2.2把轮廓边顶点进行微偏移后以黑色渲染到后端缓存Backbuffer,后端缓存Backbuffer上显示的黑点为可见的轮廓边顶点;
2.3锁定后端缓存Backbuffer,以轮廓边顶点投影后的屏幕坐标x、y索引后端缓存Backbuffer,若后端缓存数组Backbuffer[x][y]对应的顶点为黑色,则此轮廓边顶点可见。
所述步骤1.4进一步包括下述步骤:
3.1将可见轮廓边的存储结构设置为可见轮廓边矢量列表,把可见轮廓边放入所述列表;
3.2遍历每条可见轮廓边,若可见轮廓边中的顶点位置与所述列表中首或尾的顶点位置相同,把所述可见轮廓边放入所述列表的首或尾,并将所述可见轮廓边进行标记;
3.3重复步骤3.2,直到所有的可见轮廓边均被标记。
一种交互式水墨风格实时3D渲染的动画实现方法,所述方法包括下述步骤:
4.1将动画的两个关键帧保存为模型;
4.2将所述两个模型进行预处理,得到边的第一列表和第二列表;
4.3设置一个因子factor,将第一列表与所述第二列表混合,放到边的最终列表中,其中,0<factor<1;
4.4执行下述步骤将所述最终列表用于所述帧的渲染:
4.4.1查找轮廓边顶点,以双法线的逐顶点判断轮廓边顶点;
4.4.2将模型渲染到显卡的后端缓存Backbuffer,对可见轮廓边的顶点进行可视剔除;
4.4.3把剔除后的可见轮廓边顶点连接成笔划,以笔划裹上画家笔触;
4.4.4模型内部着色。
所述最终列表通过下式获得:
edge2 vertex.pos=edge0vertex.pos×factor+edge1vertex.pos×(1-factor);
edge2 vertex.fnA=edge0vertex.fnA×factor+edge1vertex.fnA×(1-factor);
edge2 vertex.fnB=edge0vertex.fnB×factor+edge1vertex.fnB×(1-factor);
其中,edge0为第一列表,edge1为第二列表,edge2为最终列表,vertex.pos为顶点位置,vertex.fnA为顶点的相邻面A法线,vertex.fnB为顶点的相邻面B法线。
所述步骤4.4.2进一步包括下述步骤:
6.1将模型渲染到显卡的后端缓存Backbuffer,清除后端缓存Backbuffer的颜色为白色;
6.2把轮廓边顶点进行微偏移后以黑色渲染到后端缓存Backbuffer,后端缓存Backbuffer上显示的黑点为可见的轮廓边顶点;
6.3锁定后端缓存Backbuffer,以轮廓边顶点投影后的屏幕坐标x、y索引后端缓存Backbuffer,若后端缓存数组Backbuffer[x][y]对应的顶点为黑色,则此轮廓边顶点可见。
所述步骤4.4.3进一步包括下述步骤:
7.1将可见轮廓边的存储结构设置为可见轮廓边矢量列表,把可见轮廓边放入所述列表;
7.2遍历每条可见轮廓边,若可见轮廓边中的顶点位置与所述列表中首或尾的顶点位置相同,把所述可见轮廓边放入所述列表的首或尾,并将所述可见轮廓边进行标记;
7.3重复步骤7.2,直到所有的可见轮廓边均被标记。
本发明可以在低端显卡上实现水墨风格的应用,同时可以将水墨效果的计算机图形整合到游戏图形引擎中时,产生需要的动画效果。
附图说明
图1是本发明对边列表进行水墨风格渲染的的实现流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明通过将模型渲染到Backbuffer(后端缓存),达到了在低端显卡上实现交互式水墨风格实时3D渲染的目的。同时,通过对动画帧进行水墨风格渲染处理,实现了水墨风格的动画。
在本发明中,把动画的两个关键帧保存为模型,即Model0和Model1,它们具有相同的顶点数,相同的顶点顺序,只是顶点位置稍有不同。通过对该两个模型进行预处理,得到边的列表edge0和edge1(包含顶点相邻面的法线信息),关键代码示例如下:
struct vertex
{
    D3DXVECTOR3 pos;//位置
    D3DXVECTOR3 fnA;//相邻面A法线
DXVECTOR3fnB;//相邻面B法线
};
每帧渲染时,根据当前时间,给一个factor(因子)(0≤factor≤1),将edge0和edge1混合,放到edge2中:
edge2 vertex.pos=edge0vertex.pos×factor+edge 1vertex.pos×(1-factor);
edge2 vertex.fnA=edge0vertex.fnA×factor+edge1vertex.fnA ×(1-factor);
edge2 vertex.fnB=edge0vertex.fnB×factor+edge 1vertex.fnB×(1-factor);
然后把edge2用于此帧的渲染,即可实现了水墨渲染的动画效果。
图1示出了本发明对边列表进行水墨风格渲染的的实现流程,详述如下:
在步骤S101中,对普通网格模型进行前期模型预处理,生成一条带有相邻面法线信息的边(Edge)的列表。
在步骤S102中,查找轮廓边顶点,以双法线的逐顶点判断轮廓边顶点;
通过如下方式判断:如果(v0eye·na)×(v0eye·nb)<0,则表示点v0为轮廓边的一个顶点。其中,v0为目标顶点,eye为眼睛位置,na和nb为v0相邻两面的法线方向。遍历所有模型边两个顶点,若两个顶点的(v0eye·na)×(v0eye·nb)<0,则把该边加入到一个轮廓边序列。
在步骤S103中,对可见轮廓边之顶点进行可视剔除(Visibility);
由于因为很多低端显卡都不支持对Z-Buffer进行锁定,仅有少量高端显卡支持,本发明将模型渲染到Backbuffer(后端缓存),清除Backbuffer的颜色为白色(但是深度信息仍然保存在Z-Buffer中),再把轮廓边顶点进行微偏移后以黑色渲染到Backbuffer,这样利用渲染管线总自动的z剔除进行可见轮廓边顶点的剔除,这样Backbuffer上显示的黑点即为可见的轮廓边顶点。再锁定Backbuffer(绝大多数显卡都支持此操作),同样以轮廓边顶点投影后的屏幕坐标x、y去索引Backbuffer,如果Backbuffer[x][y]为黑色,则说明此轮廓边顶点可见,反之不然。
在步骤S104中,把剔除后的可见轮廓边顶点连接成笔划(Path);
把可见轮廓边的存储结构定义为vector<list<可见轮廓边>>以便可以首尾同时比较查找,把可见轮廓边v_s_edge放入list(列表)。遍历v_s_edge,若某个可见轮廓边v_s_edge[n]中的顶点位置与list中记录的首或尾的顶点位置相同,说明这两边在物理空间上是相连的,则把v_s_edge[n]放入list的首或尾,并把v_s_edge[n]进行mark(标记)。每遍历一遍v_s_edge则可以得到一个笔划list,直到v_s_edge的所有边都被标记起来。
在步骤S105中,以笔划(Path)裹上画家笔触;
以PNG(Portable Network Graphics,便携网络图形)格式纹理(带有Alpha信道),作为贴图贴到一个三角形上用来产生笔触。遍历所有笔划list的所有边,在其两个顶点的位置间进行插值渲染笔触三角形,笔触三角形渲染时以边在list中的位置进行大小放缩,可以产生中间粗,两头细的笔划效果。
在步骤S106中,模型内部着色;
渲染模型时,通过计算一维贴图坐标来表现明暗度变化。每个顶点由计算顶点法向量和朝向光源向量的内积来指定一维贴图坐标值,产生一种非连续的光着效果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1、一种交互式水墨风格实时3D渲染方法,其特征在于,所述方法包括下述步骤:
1.1对普通网格模型进行前期模型预处理,生成一条带有相邻面法线信息的边的列表;
1.2查找轮廓边顶点,以双法线的逐顶点判断轮廓边顶点;
1.3将模型渲染到显卡的后端缓存Backbuffer,对可见轮廓边的顶点进行可视剔除,具体包括:
1.3.1将模型渲染到显卡的后端缓存Backbuffer,清除后端缓存Backbuffer的颜色为白色;
1.3.2把轮廓边顶点进行微偏移后以黑色渲染到后端缓存Backbuffer,后端缓存Backbuffer上显示的黑点为可见的轮廓边顶点;
1.3.3锁定后端缓存Backbuffer,以轮廓边顶点投影后的屏幕坐标x、y索引后端缓存Backbuffer,若后端缓存数组Backbuffer[x][y]对应的顶点为黑色,则此轮廓边顶点可见;
1.4把剔除后的可见轮廓边顶点连接成笔划,以笔划裹上画家笔触;
1.5模型内部着色。
2、如权利要求1所述的交互式水墨风格实时3D渲染方法,其特征在于,所述步骤1.4进一步包括下述步骤:
3.1将可见轮廓边的存储结构设置为可见轮廓边矢量列表,把可见轮廓边放入所述列表;
3.2遍历每条可见轮廓边,若可见轮廓边中的顶点位置与所述列表中首或尾的顶点位置相同,把所述可见轮廓边放入所述列表的首或尾,并将所述可见轮廓边进行标记;
3.3重复步骤3.2,直到所有的可见轮廓边均被标记。
3、一种交互式水墨风格实时3D渲染的动画实现方法,其特征在于,所述方法包括下述步骤:
4.1将动画的两个关键帧保存为模型;
4.2将所述两个模型进行预处理,得到边的第一列表和第二列表;
4.3设置一个因子factor,将第一列表与所述第二列表混合,放到边的最终列表中,其中,0<factor<1;
4.4执行下述步骤将所述最终列表用于所述帧的渲染:
4.4.1查找轮廓边顶点,以双法线的逐顶点判断轮廓边顶点;
4.4.2将模型渲染到显卡的后端缓存Backbuffer,对可见轮廓边的顶点进行可视剔除;
4.4.3把剔除后的可见轮廓边顶点连接成笔划,以笔划裹上画家笔触;
4.4.4模型内部着色。
4、如权利要求3所述的交互式水墨风格实时3D渲染的动画实现方法,其特征在于,所述最终列表通过下式获得:
edge2vertex.pos=edge0vertex.pos×factor+edge 1vertex.pos×(1-factor);
edge2vertex.fnA=edge0vertex.fnA×factor+edge 1vertex.fnA×(1-factor);
edge2vertex.fnB=edge0vertex.fnB×factor+edge 1vertex.fnB×(1-factor);
其中,edge0为第一列表,edge1为第二列表,edge2为最终列表,vertex.pos为顶点位置,vertex.fnA为顶点的相邻面A法线,vertex.fnB为顶点的相邻面B法线。
5、如权利要求3所述的交互式水墨风格实时3D渲染的动画实现方法,其特征在于,所述步骤4.4.2进一步包括下述步骤:
6.1将模型渲染到显卡的后端缓存Backbuffer,清除后端缓存Backbuffer的颜色为白色;
6.2把轮廓边顶点进行微偏移后以黑色渲染到后端缓存Backbuffer,后端缓存Backbuffer上显示的黑点为可见的轮廓边顶点;
6.3锁定后端缓存Backbuffer,以轮廓边顶点投影后的屏幕坐标x、y索引后端缓存Backbuffer,若后端缓存数组Backbuffer[x][y]对应的顶点为黑色,则此轮廓边顶点可见。
6、如权利要求3所述的交互式水墨风格实时3D渲染的动画实现方法,其特征在于,所述步骤4.4.3进一步包括下述步骤:
7.1将可见轮廓边的存储结构设置为可见轮廓边矢量列表,把可见轮廓边放入所述列表;
7.2遍历每条可见轮廓边,若可见轮廓边中的顶点位置与所述列表中首或尾的顶点位置相同,把所述可见轮廓边放入所述列表的首或尾,并将所述可见轮廓边进行标记;
7.3重复步骤7.2,直到所有的可见轮廓边均被标记。
CNB2005101214884A 2005-12-28 2005-12-28 一种交互式水墨风格实时3d渲染及实现动画的方法 Active CN100476878C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101214884A CN100476878C (zh) 2005-12-28 2005-12-28 一种交互式水墨风格实时3d渲染及实现动画的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101214884A CN100476878C (zh) 2005-12-28 2005-12-28 一种交互式水墨风格实时3d渲染及实现动画的方法

Publications (2)

Publication Number Publication Date
CN1991915A CN1991915A (zh) 2007-07-04
CN100476878C true CN100476878C (zh) 2009-04-08

Family

ID=38214153

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101214884A Active CN100476878C (zh) 2005-12-28 2005-12-28 一种交互式水墨风格实时3d渲染及实现动画的方法

Country Status (1)

Country Link
CN (1) CN100476878C (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101515373B (zh) * 2009-03-26 2011-01-19 浙江大学 竞技性交互式动画生成方法
CN102117501B (zh) * 2009-12-31 2014-06-11 厦门高德软件有限公司 一种3d线条绘制方法及装置
CN101794454B (zh) * 2010-04-08 2012-01-04 西安交通大学 一种基于图像的油画风格化方法
JP5741282B2 (ja) * 2011-07-26 2015-07-01 カシオ計算機株式会社 画像処理装置及び画像処理方法、並びにプログラム
WO2019113888A1 (zh) 2017-12-14 2019-06-20 华侨大学 一种基于交互式的中国水墨画风格笔画生成方法以及装置
CN111402385B (zh) * 2020-03-26 2023-11-17 网易(杭州)网络有限公司 一种模型处理的方法及装置、电子设备、存储介质

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
Image precision sihouette edges. Ramesh Raskar, Michael Cohen.Synposium on Interactive 3D Graphics. 1999
Image precision sihouette edges.Ramesh Raskar,Michael Cohen.Synposium on Interactive 3D Graphics. 1999 *
Noh-Photorealistic Rendering in Chinese Painting of Animals. Jun-Wei,Yeh,Ming,Ouhyoung.系统仿真学报,第14卷第9期. 2002
Noh-Photorealistic Rendering in Chinese Painting of Animals.Jun-Wei,Yeh,Ming,Ouhyoung.系统仿真学报,第14卷第9期. 2002 *
Stylized Rendering Techniques For ScalableReal-Time3DAnimation. Adam Lake, Carl Marshall, et al.Proceedings of the First International Symposium on Non-photorealistic Animation and Rendering. 2000
Stylized Rendering Techniques For ScalableReal-Time3DAnimation.Adam Lake,Carl Marshall,et al.Proceedings of the First International Symposium on Non-photorealistic Animation and Rendering. 2000 *
Two methods for creating chinese painting. Ching Chan,Ergun Akleman, Jianer Chen.Computer Graphics and Applications,2002 Proceedings,10th Pacific Conference on. 2002
Two methods for creating chinese painting.Ching Chan,Ergun Akleman, Jianer Chen.Computer Graphics and Applications,2002 Proceedings,10th Pacific Conference on. 2002 *

Also Published As

Publication number Publication date
CN1991915A (zh) 2007-07-04

Similar Documents

Publication Publication Date Title
Lake et al. Stylized rendering techniques for scalable real-time 3d animation
Kalnins et al. WYSIWYG NPR: Drawing strokes directly on 3D models
CN103810742B (zh) 图像渲染方法和系统
US9142056B1 (en) Mixed-order compositing for images having three-dimensional painting effects
Fekete et al. TicTacToon: A paperless system for professional 2D animation
CN100476878C (zh) 一种交互式水墨风格实时3d渲染及实现动画的方法
Way et al. The synthesis of trees in Chinese landscape painting using silhoutte and texture strokes
JP4075039B2 (ja) テクスチャマッピング方法、プログラム及び装置
CN105184843B (zh) 一种基于OpenSceneGraph的三维动画制作方法
KR20050030569A (ko) 화상 처리 장치 및 그 방법
Cornish et al. View-dependent particles for interactive non-photorealistic rendering
Winnemöller NPR in the Wild
Suarez et al. Real-time 3D rendering with hatching
Gu et al. Silhouette mapping
Battiato et al. A Survey of Digital Mosaic Techniques.
Yang et al. Animating Chinese ink painting through generating reproducible brush strokes
Paquette An introduction to computer graphics for artists
CN110570504B (zh) 闭合符号绘制方法、装置、电子设备及存储介质
CN107689076A (zh) 一种用于虚拟手术系统切割时的高效渲染方法
Spindler et al. Enhanced Cartoon and Comic Rendering.
Reynolds Stylized depiction in computer graphics
Li An automatic rendering method of line strokes for Chinese landscape painting
JP4617501B2 (ja) テクスチャマッピング方法、プログラム及び装置
Döllner et al. Non-photorealism in 3D geovirtual environments
Martín et al. Flattening 3D objects using silhouettes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: ACCESS VITAL CO., LTD.

Free format text: FORMER OWNER: ACCESS AS

Effective date: 20101028

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20101103

Address after: 518057, Nanshan District hi tech Zone, Guangdong, Shenzhen province high tech four road, three dimensional technology building on the third floor

Patentee after: Shenzhen Domian Computer Network Co.,Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.

C56 Change in the name or address of the patentee

Owner name: SHENZHEN TENCENT DOMAIN COMPUTER NETWORK CO., LTD.

Free format text: FORMER NAME: SHENZHEN DOMAIN NETWORK SOFTWARE CO., LTD.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 518031, Guangdong, Shenzhen province Nanshan District Shennan Avenue North Science and technology in the West Tencent Building, 28 floor

Patentee after: Shenzhen Tencent domain computer network Co., Ltd.

Address before: 518057, Nanshan District hi tech Zone, Guangdong, Shenzhen province high tech four road, three dimensional technology building on the third floor

Patentee before: Shenzhen Domian Computer Network Co.,Ltd.