三维实时渲染算法测试平台探究和设计摘要:图形渲染是整个图形学发展的核心。近些年来,在计算机辅助设计,影视动漫以及各类可视化应用中都对图形渲染结果的高真实感提出了更高的要求。一个高性能的交互式图形系统则由三维实时渲染算法来决定,而将一系列算法组合起来就能构成一条渲染管线。提出了三维实时渲染算法测试平台,通过软件生成一条渲染管线,消除硬件差异性,对各种基于该管线算法进行性能对比,通过合适的算法,实现了从三维模型到高质量二维图像的转换,实验结果表明,该平台在效率和显示效果上是可行的。关键词:三维;实时渲染;算法测试;平台中图分类号:TP399.9文献标识码:A文章编号:1009-3044(2013)32-7354-04计算机图形学狭义上是一种研究基于物理定律、经验方法以及认知原理,使用各种数学算法处理二维或三维图形数据,生成可视数据表现的科学[1]。计算机图形学经过将近40年的发展,已进入了较为成熟的发展期[2]。目前,其主要应用领域包括计算机辅助设计与加工,影视动漫,军事仿真,医学图像处理,气象、地质、财经和电磁等的科学可视化等方面[3]o三维实时渲染系统的核心,就是设计一条合理高效的渲染管线[4]。渲染管线设计是图形学研究的重要领域[5]。由于计算机硬件配置和性能的不一致,造成了不同的应用环境,三维实时渲染系统的效果可能会不一样,造成渲染速度和图形质量上也存在差异[6]。为了尽量消除硬件差异性,则就需要通过软件来实现三维实时渲染系统[7]。1三维实时渲染管线的设计在三维实时渲染系统中,管线的作用至关重要,它决定了应用程序流畅地显示图像[8]。通过软件来实现三维管线四个阶段的算法,即应用程序、几何、三角形生成和光栅化,这就是基于软件的三维实时渲染管线[9]。该文选择了一个由Caligari的造型软件tureSpace生成的三维飞机模型,并通过软件实现了三维实时渲染管线。1.1实时三维渲染流水线的实现实时三维渲染流水线主要经过以下步骤实现:1)Geometricdatabasetraversal;2)模型变换;3)背面剔除;4)视点变换;5)光照;6)投影变换;7)视体裁减;8)屏幕映射;9)扫描转换;10)着色。实时三维渲染流水线如图1所示。其中第一步为Geometricdatabasetraversal,从.cob数据文件读取三维模型顶点和边的信息;第二步是模型变化,就是将从模型空间到世界空间的转换[10],由三个矩阵T(t)、R(r,a)、S(r,s)组成,则转换公式为:[Mmw=T(t)R(r,a)S(r,s)](1)第三步为背面剔除,主要是检查模型的每个三角形是面对还是背对视点[11]。假设照相机的位置为X,三角形的三个顶点为别为sO,si,s2,如果[((sl-sO)X(s2~s0))?(sO~x)参考文献:[1]蒋理,彭四伟•多线程实时三维渲染引擎文件系统的设计与实现[J]・计算机应用与软件,2010(6).[2]任威,梁晓辉,马上,沈旭昆•基大规模三维云实时模拟方法[J]・计算机辅助设计与图形学学报,2010(4).[3]罗岱,谢茂金,曹卫群,黄心渊.基于GPU编程的地形可视化[J].中国图形图像学报,2008,13(11).[4]王磊,张春燕•基于图形处理器的通用计算模式[J].计算机应用研究,2009,26(6).[5]BingshengHe,KeYang,RuiFang,MianLuNagaK・Govindaraj,QiongLuo,PedroV.SanderRelationalJoinsonGraPhiesProeessors.2008ACMSIGMODinternationalconfereneeonManagementofdata,Vaneouver,Canada.511-524.2008.[6]OwensJ.D.,LuebkeD.,Govindaraju,etal,Asurveyofgeneralpurposecomutationongraphicshardware[C]・ComPuterGraPhiesForum,80-113,2007.[7]JaccoBikker・Real-timeraytracingthroughtheeyesofagamedeveloper[R].SymPosiumonInteractiveRayTracing,2007[8]KhronosGroup.OpenCLParallelComPutingforHeterogeneousDeviees・2009・[9]Caligari・TrueSpace6.6HelpDocument,2005・[10]Gonzalez-Morcillo,Carlos;Weiss,Gerhard;Vallejo,David;Jimenez-Linares,Luis;Castro-Schez,JoseJesus.AppliedArtificialIntelligence,Apr2010,Vol.24Issue4,p313~349,37p,4BlackandWhitePhotographs,9Diagrams,5Charts,3Graphs;DOI:10.1080/08839511003715212[11]张桀宁,李帅.一种基于顶点纹理的L0D地形渲染算法[J]•系统仿真学报,2008(7).[12]徐从富,陈健松,潘云鹤.基于NPR的3维模型线绘算法[J].中国图象图形学报,2007(4).[13]陆慧娟,高波涌,周国裕,沈军.飞行安全及事故分析的三维仿真模拟系统的研究[J].计算机应用,2005(8)・[14]李京伟,张利萍.基于虚拟现实技术的飞行视景仿真[J].计算机工程与设计,2005(7).[15]李文强,华祖耀•基于OpenGL的仿真可视化技术研究口]・计算机仿真,2005(6).