论文部分内容阅读
近年来,随着动漫影视及游戏行业的蓬勃发展,人们对渲染效果的真实感提出了越来越高的要求,尤其在影视特效、模拟仿真、虚拟现实等方面,真实感渲染正扮演着极其重要的角色。作为真实感渲染的主角,基于不同渲染技术的各类渲染引擎也得到了迅速发展与广泛应用,其中,国外的商业引擎占据了绝大比例。渲染引擎的作业来源是建模软件创建的三维场景。但是,由于这些场景的数据组织方式与建模软件本身有着极大的关联,例如有些软件会将建模时的一系列操作记录在场景数据之中。如果直接使用这类数据处理,渲染引擎需要增加额外的模块进行解析和处理,不但降低了渲染效率,也会影响引擎的兼容性。因此,我们需要建立统一的规范,为各种建模软件提供数据转换的参考,并得到渲染引擎能够直接使用的规范化文件。然而,渲染技术的发展过程中,一直没有建立一个统一的商业标准,建模软件的场景数据和渲染引擎的处理数据始终存在着不一致;除此之外,不同的建模软件对三维场景数据的组织存储方式以及软件本身的应用程序接口也有差异,使得渲染引擎对各类场景的渲染更加困难。因此,我们需要一个中间系统将场景数据转换为符合规范的渲染数据。另一方面,材质作为真实感渲染的重要体现,用户已不满足于建模软件的几种基本材质,更倾向于使用渲染引擎提供的更为复杂的材质库,这时就需要有一个中间系统向建模软件提供引擎的材质库以及其他需要的参数设置。基于以上两点,提供一个在建模软件与渲染引擎之间进行“沟通”的中间系统迫在眉睫。在目前主流的建模软件中,MAYA以其强大的角色及动画制作能力、完善的建模及材质功能等优点得到了最为广泛的应用。同时,MAYA为广大开发者提供了基于Python的应用程序开放接口(MAYAAPI),支持开发者创建自定义插件。为了解决上文所述问题,本文首先建立了一套系统化的场景表示规范,并以MAYA为例,使用其应用程序接口设计并开发了一套解算系统用以解算MAYA构建的场景,并提供相应渲染引擎的材质、纹理、光源等着色器供用户选择,最终获得符合规范的数据文件。本文高效集成了 MAYA与自主开发的渲染引擎,丰富了场景的着色器选择,拓宽了渲染引擎的作业来源,还为场景数据表示提供了规范性参考。