基于GPU的非真实感渲染的研究.docx

上传人:b****8 文档编号:11400233 上传时间:2023-02-28 格式:DOCX 页数:57 大小:2.89MB
下载 相关 举报
基于GPU的非真实感渲染的研究.docx_第1页
第1页 / 共57页
基于GPU的非真实感渲染的研究.docx_第2页
第2页 / 共57页
基于GPU的非真实感渲染的研究.docx_第3页
第3页 / 共57页
基于GPU的非真实感渲染的研究.docx_第4页
第4页 / 共57页
基于GPU的非真实感渲染的研究.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

基于GPU的非真实感渲染的研究.docx

《基于GPU的非真实感渲染的研究.docx》由会员分享,可在线阅读,更多相关《基于GPU的非真实感渲染的研究.docx(57页珍藏版)》请在冰豆网上搜索。

基于GPU的非真实感渲染的研究.docx

基于GPU的非真实感渲染的研究

本科毕业论文

基于GPU的非真实感渲染

GUPBasedNonPhotorealisticRendering

姓  名:

马特

学  号:

24320092202680

学  院:

软件学院

系:

数字媒体工程

专  业:

数字媒体艺术

年  级:

2009级

指导教师:

洪清启 助理教授

二〇一三年六月

厦门大学学位论文原创性声明

本人呈交的学位论文是在导师指导下独立完成的研究成果。

本人在论文写作中参考其他个人或集体已经发表的研究成果,均在文中以适当方式明确标明,并符合相关法律规范及《厦门大学本科毕业论文规范》。

另外,该学位论文为()课题(组)的研究成果,获得()课题(组)经费或实验室的资助,在()实验室完成。

(请在以上括号内填写课题或课题组负责人或实验室名称,未有此项声明内容的,可以不作特别声明。

声明人(签名):

年月日

 

该同学呈交的学位论文是在本人指导下独立完成的研究成果。

本人已经对学生毕业论文内容进行严格审核,论文写作中参考其他个人或集体已经发表的研究成果,均在文中以适当方式明确标明,并符合相关法律规范及《厦门大学本科毕业论文规范》。

指导教师声明(签名):

年月日

摘要

非真实感渲染(Non-Photorealistic-Rendering,简称NPR),是计算机图像学领域中一门比较新兴的学科。

能够让渲染更加有力,表现效果更加强烈,是能渲染出各种特殊复杂效果的计算机渲染技术的简称。

相比于传统的实时渲染技术强调渲染效果的写实性,NPR技术可以渲染出风格突出色彩明快的场景,给人们带来强烈的视觉冲击。

NPR是一类渲染技术的总称,通过不同的算法,我们可以实现不同的渲染风格和特效。

目前,NPR技术在计算机动画,电子游戏,电影中都有着广泛的应用。

我国在相关领域的研究还比较落后,没有比较突出的成就。

本文首先介绍NPR技术及其发展现状,并且对研究目标和研究方法做出了说明。

进而进行了深入的研究,我们综合对比了东西方渲染风格的差异,东方风格的渲染,包括卡通画风格,素描风格,白板画风格。

西方风格的渲染,如动态流体,动态水墨效果的渲染等。

渲染中我们利用和改进了双线性插值,雅克比迭代,高斯模糊,sobel过滤器,轮廓线检测等算法实现了多种多样的渲染效果。

我们还研究和实现了模型表面的凹凸化,以及各种贴图的实现。

使得我们的渲染达到更加出色的显示效果。

最后,本文对NPR技术做出了总结,并且对NPR技术的前景做出展望。

关键词:

GPU编程;卡通渲染;纹理贴图;轮廓线检测

Abstract

Non-Photorealisticrendering(Non-Photorealistic-Rendering,referredtoasNPR),isarelativelynewsubjectincomputergraphics.Formorepowerful,morestronglyeffect,NPRcanplayacomputerrenderingofvariousspecialcomplexeffectsofabbreviation.Realisticreal-timerenderingtechnologycomparedtothetraditionalemphasisonrendering,NPRtechnologycanrenderoutstandingstylebrightscene,bringingastrongvisualimpacttothepeople.NPRisageneralnameofakindofrenderingtechnology.Throughthedifferentalgorithms,wecanachievedifferentrenderingstylesandeffects.

Atpresent,theNPRtechnologyincomputeranimation,videogames,filmshavewideapplication.ResearchinrelatedfieldsinChinaisstillrelativelybackward,thereisnooutstandingachievementsofar.

ThisdissertationfirstintroducestheNPRtechnologyanditsdevelopment,andtheresearchobjectivesandresearchmethodsofexplained.Furtherin-depthstudy,wecomparedthedifferenceofEasternandWesternrenderingstyle,theOrientalstylerendering,includingcartoonstyle,drawingstyle,whiteboardpaintingstyle.Thewesternstyleofrendering,suchasdynamicfluid,dynamicinkeffectrender.Renderingweuseandimprovedbilinearinterpolation,Jacobiiteration,Gaussambiguity,sobelfilter,contourdetectionalgorithmtorealizevariousrenderingeffects.

Wealsostudyandimplementtheconcaveandconvexmodelsurface,andtherealizationofvarioustextures.Makeourrenderingtodisplayeffectismoreoutstanding.

Finally,thisdissertationmadeasummaryontheNPRtechnology,andtheprospectofNPRtechnology.

Keywords:

GPUProgramming;cartoonRendering;BumpMapping;Contourdetection

目录

第一章概述1

1.1研究背景1

1.2研究应用范围2

1.3研究方法3

1.4论文主要框架4

第二章GPU编程技术5

2.1GPU简介和发展历史5

2.1.1GPU的工作原理和作用5

2.1.2游戏的运行流程6

2.2GPU和CPU编程的比较7

2.3GPU图形绘制管线9

2.4ShaderProgrammingLanguage(着色器语言)9

2.5相关工具的介绍10

2.5.1OpenGL10

2.5.2DirectX11

2.5.3RenderMonkey11

第三章基于东方艺术的非真实感渲染12

3.1基本轮廓的绘制12

3.1.13.1.1.最基本的边缘检测原理12

3.1.2最基本的边缘绘制12

3.1.3基于Sobel过滤器的轮廓着色器:

13

3.1.4基于Sobel过滤器的轮廓着色器的改进:

15

3.2卡通风格渲染17

3.2.1环境光18

3.2.2漫反射光18

3.2.3镜面反射光18

3.2.4非线性光照的插值19

3.2.5卡通渲染的核心算法和实验结果:

19

3.3素描风格渲染21

3.3.1轮廓线纹理21

3.3.2渲染算法的实现22

3.4白板画风格渲染24

第四章基于西方艺术的非真实感渲染26

4.1简单流体风格渲染26

4.2动态水墨风格渲染29

4.2.1流体的速度模拟29

第五章凹凸纹理和材质34

5.1凹凸纹理的基本原理34

5.2凹凸纹理的工作原理34

5.3凹凸纹理的应用效果36

第六章总结与展望37

6.1论文工作总结37

6.2研究展望37

参考文献39

致谢42

Directory

Chapter1   Outline1

1.1     Background1

1.2     ResearchApplications2

1.3     ResearchMethods3

1.4     ThesisFramework4

Chapter2   GPUProgrammingTechniques5

2.1     GpuIntroductionAndHistory5

2.1.1     WorkingPrincipleAndTheRoleOfTheGPU5

2.1.2     GameRunningProcesses6

2.2     ComparisonOfGPUAndCPUProgramming7

2.3     GPUGraphicsRenderingPipeline9

2.4     ShaderProgrammingLanguage(ShaderLanguage)9

2.5     IntroductionOfRelatedTools10

2.5.1     OpenGL10

2.5.2     Directx11

2.5.3     RenderMonkey11

Chapter3   BasedOnNon-PhotorealisticRenderingOfOrientalArt12

3.1     BasicOutlineDrawing12

3.1.1     BasicPrincipleOfEdgeDetection12

3.1.2     BasicDrawingEdge12

3.1.3     BasedSobelContourShaderFilter:

13

3.1.4     BasedSobelContourShaderFilterImprovements:

15

3.2     CartoonStyleRendering17

3.2.1     AmbientLight18

3.2.2     Diffuse18

3.2.3     Specular18

3.2.4     NonlinearInterpolationIllumination19

3.2.5     CartoonRenderingCoreAlgorithmAndExperimentalResults:

19

3.3     SketchStyleRendering21

3.3.1     ContourTexture21

3.3.2     RenderingAlgorithm22

3.4     WhiteboardPaintingStyleRendering24

Chapter4   BasedOnNon-photorealisticRenderingOfWesternArt26

4.1     SimpleFluidStyleRendering26

4.2     DynamicInkStyleRendering29

4.2.1     VelocityOfTheFluidSimulation29

Chapter5   BumpTexturesAndMaterials34

5.1     TheBasicPrincipleOfBumpTexture34

5.2     BumpTextureWorks34

5.3     BumpMappingApplicationEffect36

Chapter6   SummaryAndOutlook37

6.1     ThesisWorkSummary37

6.2     ResearchProspects37

References39

Acknowledgements42

1概述

第一章概述

20世纪,随着计算机软硬件技术的高速发展。

计算机图形学与多媒体,互联网技术,电子游戏,影视媒体,虚拟现实等新技术越来越密不可分。

逐渐从一个简单学科化身为一门综合性,复杂性的学科。

目前的渲染技术,根据真实性的不同大致可以分为两类[1]:

真实感图形渲染(Photorealistic-Rendering)和非真实感图形渲染(Non-Photorealistic-Rendering)。

真实感图形渲染经过十几年的蓬勃发展,目前已经有了成熟的技术,在很多大型3D游戏中我们都可以看到该技术的应用。

而非真实感渲染,则是在近几年才得到了更加广泛的关注。

该技术更多的应用在艺术化的渲染中,达到更强烈的视觉效果。

比如具有鲜明东方韵味的水墨画风格渲染,简笔画风格渲染等一些新兴渲染技术。

本文基于前人已经提出的算法,综合研究了多种非真实感渲染特效。

并且对相关算法进行了讨论和细微改进。

在之后的章节里,我们会分别对各种特效进行分析和研究。

最后,对于论文的研究内容,研究方法,研究结果进行总结与展望。

1.1研究背景

计算机图形学(ComputerGraphics,简称CG)是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学[2]。

简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法,利用计算机产生令人赏心悦目的真实感图形。

为此,必须建立图形所描述的场景的几何表示,再用某种光照模型,计算在假想的光源、纹理、材质属性下的光照明效果。

单单就真实度情况的测定是很容易的,只需要把渲染的图形图像,与真实照片进行比对即可检测出当前的渲染技术是否达到了预期的目的。

从20世纪60年代开始,真实感渲染技术取得了突飞猛进的进步,从世界第一款2DArpg[3-5]游戏《暗黑破坏神》到当今的《指环王》、《实况足球》、《NBA2K13》等形形色色游戏中,我们可以很容易发现,无论是纹理材质,实时阴影,还是渲染的真实性,都几乎可以达到“以假乱真”的境界。

20世纪90年代开始,收到计算机硬件软件发展程度的制约,真实感渲染技术发展相对进入了平稳发展的程度。

很多学者此时将目光放在了新型渲染手段上,这就为日后非真实感图形渲染技术的出现提供了契机。

目前世界上应用最为广泛的3D建模软件,Autodesk研发的3DMax以及Alias公司开发的Maya,以及一些其他游戏引擎[6-8],比如Torque,Unity3D等。

本身提供了一粒子特效系统,从而方便了计算机软件爱好者,内置的粒子系统,使得大家更方便快捷的实现各种渲染特效。

传统的手绘或者计算机建模技术虽然也可以生成真实感非常强的画面,实现非常精致的视觉效果。

但是费时费力,成本相对很高。

1.2研究应用范围

目前非真实渲染的应用主要在如下方面:

1.电影特效:

图1-1商业电影中的渲染特效[9]

随着好莱坞商业大片《功夫熊猫》、《玩具兵大战》、《马达加斯加》、《猫和老鼠》等的热播,卡通渲染更加深入人心。

上述影片都是使用3D建模软件完成的,总体来说开发进度缓慢,投资成本极大。

整个过程消耗巨大的人力物力财力。

2.电子游戏

图1-2非真实渲染在电子游戏的应用[10]

非真实感的另一个巨大应用,就是在电子游戏中。

据一项调查显示:

在中国,电子游戏的发展更是突飞猛进。

根据中国互联网络信息中心(CNNIC)最新的调查研究显示,中国的网民已经达到了5.37亿人,其中以休娱乐为目的的人占到了42.5%。

1.3研究方法

本文主要研究方法是基于已有的渲染方法,学习研究后进行适当的改进。

并应用着色器技术予以实现。

我们的核心研究方法分列如下[11-15]:

1.利用sobel过滤器对模型的轮廓线进行绘制

2.利用法向量纠正法对模型边缘轮廓线进行纠正

3.利用多遍渲染实现水墨浸润效果

4.利用雅可比迭代双线性插值法加快渲染效果

5.利用高斯过滤器实现水墨的细腻显示

6.利用临界八像素法实现渲染的精确性

7.利用凹凸纹理和光照实现渲染的艺术性

1.4论文主要框架

除概述外,本文共分为六个部分,各章节简述如下:

第二章GPU编程技术。

本章首先介绍了GPU(GraphicsProcessingUnit)的发展,然后介绍GPU的工作原理和作用,游戏的运行流程并且对GPU和CPU编程进行了比较,阐述了用GPU进行渲染的好处。

最后介绍了ShaderLanguage以及CG编程。

第三章基于东方艺术的非真实感渲染。

本章首先阐述了东方风格的渲染效果及其应用范围。

进而研究和实现了一些基于东方传统艺术风格的渲染,比如卡通风格,素描风格风格,白板画风格的渲染。

主要应用的算法有:

轮廓线检测法,sobel过滤器,临界八像素检测法等。

第四章基于西方艺术的非真实感渲染。

本章主要实现了一些不同于东方艺术感的艺术风格渲染。

我们通过两个非常复杂的例子实现了一些渲染结果,动态流体以及动态水墨风格渲染。

在研究中,我们使用了双线性插值,雅克比迭代,高斯模糊,笛卡尔网格优化算法等一些先进的算法,对渲染效果进行了深度优化,达到了很好的渲染效果。

第五章凹凸纹理和材质。

在前面几章的基础上,我们介绍了纹理映射和凹凸映射这两个概念。

然后,我们综合研究了模型表面的凹凸化以及各种各样的材质的实现。

实现了青花瓷,钢铁材质,灼烧材质等多种渲染效果。

并且在我们的渲染模型中加入了光照,从而达到了很不错的视觉效果。

第六章总结与展望。

总结我们已经取得的一些成果,并且对今后NPR技术的发展和美好前景做出展望。

2GPU编程技术

第二章GPU编程技术

自诞生起,GPU就将摩尔定律的定义大大扩展。

研究表明,从1993年开始,GPU的性能以每年2.8倍的速度增长,这个数字大大超过了PC其他子系统的发展速度。

一块工作频率为3.0GHz的Pentium4处理器,其晶体管数目为1.25亿个,即使算上SSE指令集的SIMD(单指令并发多数据流,这种情况是浮点吞运算下吐能力的最理想状况),也只有6GFlops的峰值浮点处理能力,而同期的一块NV40GPU就有2.22亿个晶体管。

峰值浮点运算能力很轻易超过40GFlops。

GPU拥有自己的独立子存储系统--显存,它拥有比系统主内存高得多的带宽。

Intel曾经为它的Pentium4XE系列处理器所拥有的1066MHz前端总线所提供的8.6GB/S的带宽倍感自豪,而同期一块普通的GeForce6800就拥有20GB/S以上的显存带宽。

由上面几点可以看出,因为具备强大的并行处理能力和极高的存储器带宽,GPU如果被抽象成一个“流处理器”,来用于诸如科学运算、数据分析、线性代数、流体模拟等需要大量重复的数据集运算和密集的内存存取的应用程序,那么我们就能获得一些比CPU强悍得多的计算能力。

相比之下,CPU本质上是一个标量计算模型,计算单元偏少,主要针对复杂控制和低延迟而非高带宽优化。

正是因为这些优势,使得GPU比CPU更适用于流处理计算。

目前,AMD和NVIDIA两大图形芯片巨头都提出了自己的GPGPU方案。

2.1GPU简介和发展历史

2.1.1GPU的工作原理和作用

GPU的工作原理

GPU所采用的核心技术有硬体T&L、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等,而硬体T&L技术可以说是GPU的标志。

简单说GPU是能够从硬件上支持T&L(TransformandLighting,多边形转换与光源处理)的显示芯片。

T&L是3D渲染中的一个重要部分,其作用是计算多边形的3D位置和处理动态光线效果,也可以称为“几何处理”。

一个好的T&L单元,可以提供细致的3D物体和高级的光线特效;只不过大多数PC中,T&L的大部分运算是交由CPU处理的(这也就是所谓的软件T&L),由于CPU的任务繁多,除了T&L之外,还要做内存管理、输入响应等非3D图形处理工作,因此在实际运算的时候性能会大打折扣,常常出现显卡等待CPU数据的情况,其运算速度远跟不上今天复杂三维游戏的要求。

即使CPU的工作频率超过1GHz或更高,对它的帮助也不大,由于这是PC本身设计造成的问题,与CPU的速度无太大关系。

GPU的作用

GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作,尤其是在3D图形处理时。

GPU是显示卡的“大脑”,它决定了该显卡的档次和大部分性能,同时也是2D显示卡和3D显示卡的区别依据。

2D显示芯片在处理3D图像和特效时主要依赖CPU的处理能力,称为“软加速”。

3D显示芯片是将三维图像和特效处理功能集中在显示芯片内,也即所谓的“硬件加速”功能。

今天,GPU已经不再局限于3D图形处理,在通用方面也逐渐崭露头角,事实也证明在浮点运算、并行计算等部分计算方面,GPU可以提供数十倍乃至于上百倍于CPU性能。

2.1.2游戏的运行流程

图2-1没有GPU情况下游戏的运行[16]

图2-2有GPU情况下游戏的运行

2.2GPU和CPU编程的比较

1.两者的设计初衷不一样

我们可做如下形象比喻(如图2-3所示):

CPU的设计思想是一个人尽快地完成一件事,然后再去做另外的事情。

GPU的设计思想是同时让尽可能多的人去做一件事情。

虽然两者的目标是一样的,但是,做事过程的差异,对做事的效率就产生明显的差距。

如果比较GPU与CPU二者设计思想的先进与落后,你可能说GPU效率更高,其实不然,原因是很多事情是不允许很多人同时去做的,必须一步一步地做,并且还必须遵守一定的规则。

如田径的接力赛跑,必须一棒接一棒地跑。

再比如计算机的逻辑判断,只是对满足条件的数据才进行计算,要想做下一步必须先完成上一步工作;当然,肯定有些事情是可以同时多人去做的,比如火车的装卸货物,很多人可以同时做。

可以说GPU和CPU各有优缺点,关键要看执行操作的对象。

但是,有一点是清楚的:

就是单个CPU只适合做并行度非常低的运算,而用GPU做串行计算也无法发挥其效率。

图2-3CPU与GPU设计思想示意图[17]

2.两者的处理器微结构存在很大的差别

CPU中大量的晶体管用作高速缓存(Cache)、逻辑控制单元(ControlUnit),只有少量的用作计算单元(ALU)。

而GPU则把更多的晶体管用作了计算单元,只有少量晶体管用作了高速缓存(Cache)和逻辑控制单元,这使得GPU比CPU更适合完成密集计算任务,如图2-4。

图2-4GPU与CPU的微结构示

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 社交礼仪

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1