CN101840585A - 一种将三维对象渲染为二维图像的方法 - Google Patents

一种将三维对象渲染为二维图像的方法 Download PDF

Info

Publication number
CN101840585A
CN101840585A CN200910119801A CN200910119801A CN101840585A CN 101840585 A CN101840585 A CN 101840585A CN 200910119801 A CN200910119801 A CN 200910119801A CN 200910119801 A CN200910119801 A CN 200910119801A CN 101840585 A CN101840585 A CN 101840585A
Authority
CN
China
Prior art keywords
dimensional object
shade
rendering
dimensional
played
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.)
Pending
Application number
CN200910119801A
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN200910119801A priority Critical patent/CN101840585A/zh
Publication of CN101840585A publication Critical patent/CN101840585A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

本发明涉及一种将三维对象渲染为二维图像的方法:在使用显卡GPU着色器将三维对象实时渲染成类似人类手绘的二维风格图像时,分为以下三个步骤:先描边:用单色等宽的线条描出模型的边界和硬边;再进行光照渲染:用有明显界线的明暗色块来渲染模型;最后阴影渲染:借助深度阴影图技术(DepthShadow Map)实现阴影,并与光照渲染的结果加以混合。

Description

一种将三维对象渲染为二维图像的方法
技术领域
本发明涉及一种基于显示适配器GPU着色器的非真实感三维对象实时渲染方法。使用此方法渲染的三维对象所达到的二维图像最终效果有以下特点:用黑色等宽的线条勾勒对象,用明暗色块表现光照情况,具有动画风格的阴影。
背景技术
以往的卡通动画都是利用人工手绘的方式一张一张的呈现出来,而随着计算机性能的进步,开始可以利用三维绘图的方式来制作二维的对象或场景,目前这种方式在许多卡通动画以及电影当中经常被利用。简而言之,就是将原本三维对象仿真或渲染成类似人类手绘的二维风格图像。
日本动画的画风较为含蓄、严谨、精致,深受全球观众的喜爱,同时也是各国动画业者竞相模仿的一种风格。使用计算机图形学技术模仿日本动画风格进行实时绘制,可以应用于游戏等人机交互领域,提高产品的艺术感染力和市场竞争力。现已存在不少动画风格渲染的技术,但都存在一些不足。《Cartoon-Looking Rendering of 3D-Scenes》(作者:PhilippeDecaudin,1996年6月发表于“Research Report INRIA”第2919期)是最早论述卡通渲染技术的文章,这篇文章提出的基本框架至今仍未改变,但由于当时技术条件所限,作者采用的描边是图像处理技术的方法,并不适于实时渲染。《Dot3 Cel Shading》(作者:RonBarbosa,2004年11月发表于“ShaderX3:Advanced Rendering with DirectX and OpenGL”)和《Cel-Shading》(作者:Sami“MENTAL”Hamlaoui,发表于http://www.gamedev.net/reference/programming/features/celshading/)这两篇文章都从实时渲染的角度给出了解决方案,但没有实现阴影。《卡通高光的风格化算法及其实现》(作者:苏延辉、韦欢、费广正、石民勇,2006年6月发表于《中国计算机图形学进展2006》)一文针对动画风格中的高光修正进行了深入研究,但主要针对非实时渲染。
发明内容
本发明要解决的技术问题是:在使用显示适配器GPU着色器将三维对象实时渲染成类似人类手绘的二维风格图像时,勾边不连贯;不支持阴影,手绘艺术感不强,转换效率不高,占用CPU资源高。
为解决上述技术问题,使用背面线框的方法实现对三维对象等宽线条描边;在动画风格渲染中应用了阴影技术,并且使用求最小值的方式进行混合。
本发明采用技术方案的基本构思是:在使用显示适配器GPU着色器将三维对象实时渲染成类似人类手绘的二维风格图像时,分为以下三个步骤:先描边:用单色等宽的线条描出模型的边界和硬边;再进行光照渲染:用有明显界线的明暗色块来渲染模型;最后阴影渲染:借助深度阴影图技术(Depth Shadow Map)实现阴影,并与光照渲染的结果加以混合。
本发明使用背面线框算法能够连贯等宽地勾边,阴影技术并与明暗效果混合,使人物在侧光下更生动,能产生艺术化的效果,而且可以较好地利用显示适配器硬件提供的特性,提高了CPU性能。
附图说明
下面结合附图和实施方式对本发明作进一步详细的说明。
图1为本发明中背面线框方法的示意图。
图2为本发明中光照渲染方法的效果图。
具体实施方式
1.描边
在DirectX或OpenGL线框模式下,使用等宽线条绘制三维对象多边形的边。结合线框模式和硬件剔除功能,可以较容易地勾勒出三维对象的二维图像特征,这种方法称为背面线框方法。
背面线框方法一共两遍,第一遍正常绘制,第二遍进行描边。在第二遍绘制时进行如下设置:先启用线框模式;然后启用硬件剔除功能,剔除面向摄像机的表面,只保留背向摄像机的表面;再将所有顶点的颜色设置为黑色或指定的描边颜色;最后设置线宽为2像素或以上,设置深度偏移量为+1。
如图1中,1为原始模型;2为线框模式绘制;3为第一遍正常绘制模型(硬件背面剔除);4为线框模式、正面剔除、2像素线宽、深度偏移量+1的模式绘制模型;5为两遍绘制的结果;6为从摄像机角度看,模型有了边线。
在默认情况下,线框模式是以1像素宽度的细线进行绘制的,但由于边线和与它邻接的正表面的边是重合的,实际上只有线框宽度的1/2会被显示出来,因此须将线宽设置为2像素或以上。设置深度偏移量可以保证在深度缓冲区中线框均比正面更“深”一些。这样可防止三维对象距离摄像机较远时发生深度冲突(Z-fighting)。
这一方法能够有效地找到边线,对于向内折的硬折痕,也可以勾画出来。勾边线条粗细一致,且不会因对象的远近而发生变化。
2.光照渲染
光照渲染用具有明显分界线的色块来抽象地反映三维对象光照情况,使渲染生成的二维图像具有平面绘画的色彩效果。
反射光强度连续变化是造成光滑表面色彩连续变化的原因,因此要将其进行二值离散化处理,可以利用纹理映射机制实现从连续值到二值的映射。首先我们建立一个16像素宽的一维纹理,即“漫反射光照纹理”,该纹理的左侧用0(黑色)填充,右侧用1(白色)填充,其分界位置决定了二值化的阈值。
实现明暗色块光照模型时,开始绘制前,我们要将原始颜色(基色)纹理、漫反射光照纹理和高光纹理载入,分别作为第0至2层纹理。模型的顶点数据中应该已经包含了基色纹理(第0层)的纹理坐标信息。在正常绘制的遍中,进行以下操作:
(1)为显示适配器GPU中的顶点着色器(Vertex Shader)设置如下程序:先计算出该顶点的漫反射强度与镜面反射强度,再用它们作为第1层和第2层纹理的坐标。
(2)为显示适配器GPU中的像素着色器(Pixel Shader)设置如下程序:首先,将每像素的反射光强度数值当作上述纹理的纹理坐标;然后,通过图素查询,得到了反射光强度二值化后的值;最后,将这个值与该像素的原始颜色(基色)混合,就得到了基色与暗色两个色块。
图2中,1A、1B只使用基色渲染,2A、2B使用传统光照模型渲染,3A、3B使用明暗色块光照模型渲染。
对于三维对象存在高光的光泽表面,高光的处理方法与阴影基本相同。不同的是阴影色是将基色变暗,而高光是将基色变亮。另外,由于三维对象高光面积应该较小,其二值化的阈值也应更高。
3.阴影渲染
先获得三维对象的“深度阴影图(Depth Shadow Map)”及阴影,然后以取最小值的方式将阴影与之前获得的明暗进行混合。
具体方法是:先创建一个新纹理,称其为“深度阴影图”纹理,它用来保存深度信息。然后在正常绘制之前增加一遍,这一遍从光源角度进行绘制,任务是将光源摄像机空间中的深度信息绘制到“深度阴影图”纹理中。具体进行的操作为:
(1)为显示适配器GPU中的顶点着色器(Vertex Shader)设置如下程序:将顶点的空间坐标映射到光源摄像机坐标系,并将顶点的深度信息以纹理坐标的形式保存到顶点数据结构中;
(2)为显示适配器GPU中的像素着色器(Pixel Shader)设置如下程序:将纹理坐标(即该点深度)作为颜色绘制到“深度阴影图”纹理中。
在绘制接收阴影的对象时,要进行如下操作:
(1)为显示适配器GPU中的顶点着色器(Vertex Shader)设置如下程序:先进行光照渲染涉及的顶点着色器程序,然后将“深度阴影图”纹理坐标映射到对象的每个顶点上。
(2)为显示适配器GPU中的像素着色器(Pixel Shader)设置如下程序:首先,进行光照渲染的像素着色器程序中的二值化运算,得到反射光强度二值化后的值;然后,对每个像素进行一次深度测试,通过测试则将测试结果记为1(白色),测试失败则将测试结果记为0(黑色)。最后,将反射光强度二值化后的值与深度测试的测试结果取最小值,用该值与该像素的原始颜色(基色)混合,就得到了基色与含有阴影的暗色两个色块。

Claims (4)

1.一种将三维对象渲染为二维图像的方法,其特征在于:
A.描边:用单色等宽的线条描出三维对象的边界和硬边;
B.光照渲染:用有明显界线的明暗色块来渲染三维对象;
C.阴影渲染:借助深度阴影图实现阴影,并将所述阴影与光照渲染的结果加以混合。
2.如权利要求1所述的方法,其特征在于:
所述方法是基于显示适配器GPU着色器的。
3.如权利要求1所述的方法,其特征在于:
所述A步骤是使用背面线框的方法实现对三维对象等宽线条描边。
4.如权利要求1所述的方法,其特征在于:
所述C步骤是使用求最小值的方式进行混合。
CN200910119801A 2009-03-18 2009-03-18 一种将三维对象渲染为二维图像的方法 Pending CN101840585A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910119801A CN101840585A (zh) 2009-03-18 2009-03-18 一种将三维对象渲染为二维图像的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910119801A CN101840585A (zh) 2009-03-18 2009-03-18 一种将三维对象渲染为二维图像的方法

Publications (1)

Publication Number Publication Date
CN101840585A true CN101840585A (zh) 2010-09-22

Family

ID=42743941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910119801A Pending CN101840585A (zh) 2009-03-18 2009-03-18 一种将三维对象渲染为二维图像的方法

Country Status (1)

Country Link
CN (1) CN101840585A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693553A (zh) * 2011-08-26 2012-09-26 新奥特(北京)视频技术有限公司 一种实现三维效果的图表创建方法及装置
CN106780694A (zh) * 2016-11-25 2017-05-31 厦门小鱼飞飞文化传媒有限公司 一种实景渲染调色方法及装置
CN107749077A (zh) * 2017-11-08 2018-03-02 米哈游科技(上海)有限公司 一种卡通风格光影渲染方法、装置、设备及介质
CN108765530A (zh) * 2018-05-24 2018-11-06 北京声影动漫科技有限公司 一种制作漫画和/或二维动画的方法
CN109155074A (zh) * 2016-03-28 2019-01-04 纳鲁利泽公司 用于无缝隙地渲染点的系统和方法
CN110322536A (zh) * 2018-03-27 2019-10-11 上海视觉艺术学院 三维模型转换二维水墨动画的渲染合成方法
CN110390709A (zh) * 2019-06-19 2019-10-29 北京巴别时代科技股份有限公司 卡通渲染勾边圆滑方法
CN114419241A (zh) * 2022-01-18 2022-04-29 北京世纪高通科技有限公司 一种三维模型构建方法、装置及存储介质
CN114494550A (zh) * 2021-12-30 2022-05-13 北京城市网邻信息技术有限公司 基于WebGPU的渲染方法、电子设备及存储介质

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693553A (zh) * 2011-08-26 2012-09-26 新奥特(北京)视频技术有限公司 一种实现三维效果的图表创建方法及装置
CN109155074B (zh) * 2016-03-28 2023-09-08 索尼公司 用于无缝隙地渲染点的系统和方法
CN109155074A (zh) * 2016-03-28 2019-01-04 纳鲁利泽公司 用于无缝隙地渲染点的系统和方法
CN106780694A (zh) * 2016-11-25 2017-05-31 厦门小鱼飞飞文化传媒有限公司 一种实景渲染调色方法及装置
CN106780694B (zh) * 2016-11-25 2020-11-06 厦门黑火网络科技有限公司 一种实景渲染调色方法及装置
CN107749077A (zh) * 2017-11-08 2018-03-02 米哈游科技(上海)有限公司 一种卡通风格光影渲染方法、装置、设备及介质
CN110322536A (zh) * 2018-03-27 2019-10-11 上海视觉艺术学院 三维模型转换二维水墨动画的渲染合成方法
CN110322536B (zh) * 2018-03-27 2023-12-05 上海视觉艺术学院 三维模型转换二维水墨动画的渲染合成方法
CN108765530A (zh) * 2018-05-24 2018-11-06 北京声影动漫科技有限公司 一种制作漫画和/或二维动画的方法
CN110390709A (zh) * 2019-06-19 2019-10-29 北京巴别时代科技股份有限公司 卡通渲染勾边圆滑方法
CN110390709B (zh) * 2019-06-19 2023-01-03 北京巴别时代科技股份有限公司 卡通渲染勾边圆滑方法
CN114494550A (zh) * 2021-12-30 2022-05-13 北京城市网邻信息技术有限公司 基于WebGPU的渲染方法、电子设备及存储介质
CN114419241A (zh) * 2022-01-18 2022-04-29 北京世纪高通科技有限公司 一种三维模型构建方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN101840585A (zh) 一种将三维对象渲染为二维图像的方法
CN106127859B (zh) 一种移动增强现实型涂鸦绘本的真实感生成方法
CN112316420B (zh) 模型渲染方法、装置、设备及存储介质
Hertzmann Fast paint texture
CN107749077B (zh) 一种卡通风格光影渲染方法、装置、设备及介质
CN1750046A (zh) 基于图形处理器的三维水墨效果渲染方法
JP3626144B2 (ja) 立体オブジェクトデータからの漫画的表現の2次元画像の生成方法および生成プログラム
US8085270B2 (en) Apparatus for proccessing drawn-by-human-hand effect using style lines
CN102496180A (zh) 一种自动生成水墨山水画图像的方法
KR101619875B1 (ko) 범용 그래픽 프로세싱 유닛을 이용한 3 차원 캐릭터 렌더링 시스템 및 그의 처리 방법
JP2003242520A (ja) テクスチャデータのデータ構造、プログラム及びテクスチャマッピング方法
Winnemöller NPR in the Wild
CN103366396A (zh) 基于局部阴影图的高质量软阴影快速生成方法
Suarez et al. Real-time 3D rendering with hatching
JP2004110597A (ja) 画像生成情報、情報記憶媒体及び画像生成装置
KR20040024550A (ko) 묘화 처리 방법
CN100476878C (zh) 一种交互式水墨风格实时3d渲染及实现动画的方法
Nienhaus et al. Sketchy drawings
Nah et al. MobiRT: an implementation of OpenGL ES-based CPU-GPU hybrid ray tracer for mobile devices
CN106846452A (zh) 一种gpu上针对延迟着色反走样绘制的优化方法
KR102009765B1 (ko) 모바일용 전체 조명 실시간 렌더링 방법
Murakami et al. Multiple illuminated paper textures for drawing strokes
Curtis et al. Real-time non-photorealistic animation for immersive storytelling in “Age of Sail”
Wang et al. A method for ink-wash painting rendering for 3D scenes
Curtis et al. Non-Photorealistic Animation for Immersive Storytelling.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
DD01 Delivery of document by public notice

Addressee: Le Dashan

Document name: Notification that Application Deemed to be Withdrawn

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100922