illusoryray中应用的几种设计模式解析.pdfVIP

  • 2
  • 0
  • 约5.82千字
  • 约 9页
  • 2018-04-16 发布于天津
  • 举报
illusoryray中应用的几种设计模式解析

IllusoryRay 中应用的几种设计模式解析 软件学院 韦宇浩 1. 项目背景 1.1 渲染器来源 计算机图形学研究的问题就是如何将使用数学描述的对象绘制成2D 的图像,能 够实现这一目的地程序就可以称为渲染器。近代好莱坞电影的一个特点是电脑特技 特别的多,而且看起来很真实,他们是怎么做到的?拿纯粹的 CG 电影来说,怪物 公司( 《Monster Inc.》)或者海底总动员( 《Finding Nemo》)来说,一个粗糙的流 程可以归纳成,剧本-原画-建模-修建场景(包括了动作捕捉之类)-最终渲染。 画面的质量如何取决于渲染器的质量如何。 1.2 渲染器分类 按渲染器的图像生成速度来分类,可以把他们分成实时(Real Time)渲染和离线 (Off Line)渲染两类,实时是指一秒能够生成 12 帧以上图像,常见的实时渲染器 就是我们常玩的 3D 游戏里面用的,他们通过显卡加速达到的实时的目的,离线则 小于这个值。 倘若按照体系结构来分,可以得到 Rayes,Ray Tracing,和 Finite Element 三种,Rayes 架构这个名字或许很陌生,但是提到基于这个架构衍生出的 Direct3D/OpenGL 大家就熟悉了,Ray Tracing 是指基于光线追踪的绘制模式, Finite Element 是指有限元元素,经典的算法是辐射度算法(Radiosity),它把整 个场景细分成有限个单元片面,利用这些单元片面的热能量传递构成一个巨大的方 程组,解这个方程组即可得到单元片面的亮度,再综合其他信息如材质即可完成绘 制。 1.3 典型的渲染器 现代渲染器经过三十多年的发展已经非常成熟,各类已经投入商用或开源的渲 染器层出不穷,下面举例说明。 Pixar 的RenderMan,Rayes 架构的最成功作品,Pixar 出品的所有电影基于这 个解决方案,ILM(Industrial Light and Magic)工业光学魔术公司,乔治卢卡斯 创办,也使用RenderMan 作为最终解决方案之一,作品有《星球大战》《终结者2》 《珍珠港》《加勒比海盗》《侏罗纪公园》《变形金刚》。 其次还有Mental Ray,由德国Mental Image 公司开发,Ray Tracing 架构的经 典之作,应用在《绿巨人》《黑客帝国2》,同时我们常见的很多建筑/家居设计效果 图大部分由MentalRay 最终渲染。这两个渲染器都推出插件能够让内核集成于3DS Max/Maya 之中,只要通过3DS Max/Maya 把建模等工作做好就可以方便的调用渲染 器做最后输出。 其他比较常见的还有Maxwell,Aqsis,VRay 等,其中Aqsis 开源。 图1.1 高质量的渲染 2. 需求分析 2.1 项目架构 项目选用Ray Tracing 作为内核,因为Ray Tracing 兼具易于实现和高输出质 量的特点。同时对于渲染器引擎做了抽象化设计,从而达到较高的灵活性、可扩展 性和模块性之间相对平衡。 2.2 Ray Tracing 流程分析 Ray Tracing 是整个项目的实施基础,图2.1 简单描述了这一流程。 图2.1 Ray Tracing 首先,从摄像机(人眼位置)向屏幕(网格)投射一道光线,根据这条光线追踪整 个场景中的图元(Primitive)并且求交,得到击中的交点之后,寻求一道从光源发 射向此交点的光线,进行阴影测试,目的在于看交点和光源之间有没有其他障碍物

文档评论(0)

1亿VIP精品文档

相关文档