CN101840585A - 一种将三维对象渲染为二维图像的方法 - Google Patents
一种将三维对象渲染为二维图像的方法 Download PDFInfo
- 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
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步骤是使用求最小值的方式进行混合。
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)
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的渲染方法、电子设备及存储介质 |
-
2009
- 2009-03-18 CN CN200910119801A patent/CN101840585A/zh active Pending
Cited By (13)
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 |