论文部分内容阅读
人类为了能更快更好地改造自然界,从而使自身能够获得更好的发展,促使了各种各样的伟大工具的发明和创造,其中我个人认为对人类目前最息息相关的莫过于计算机的发明和应用。而近几年计算机软、硬件的不断和飞速发展,也促使计算机图形学技术在人类的各个领域得到广泛的应用,并且已经由最初的二维进入三维时代,更进一步的加快了人类的进步。图形引擎是一种底层工具,支持高层图形软件的开发。可视化的关键是图形显示的底层模块,实际上就是将图形学中一些图形通用算法进行封装,对一些底层工具进行封装,对图形学的关键技术进行封装,提供统一的程序编程接口,供开发者使用。本文针对图形引擎的特点,尽可能开发出模块封装性好、关联少的子系统,为图形引擎提供一个可靠而稳定的架构。本文采取面向对象的软件设计方法(OOD),对图形引擎系统进行了很好地划分。渲染系统模块是图形引擎系统最重要的也是必不可少的模块,实现了可编程渲染管线、渲染目标。论文给出了场景管理器的管理方式,场景图与场景内容的分离思想,场景核心对象组织结构,同时给出了插件体系对图形引擎模块所起的作用。本文主要做的工作如下:(1)简单分析了图形引擎技术及对其进行研究开发的意义和目的,目前国内外发展及研究现状,图形引擎所研究的关键技术以及论文的组织结构。(2)详细介绍了图形引擎开发的技术基础,包括组件对象模型技术、图形流水线、图形API接口等。(3)介绍图形引擎系统的设计方法和思想,并对图形引擎进行总体架构。采取面向对象的软件设计方法(OOD),在总体上对图形引擎的体系结构进行了分析和概括,并介绍了插件系统及其在图形引擎中所处的地位。(4)利用抽象工厂设计模式对图形引擎三大模块开发出了基于插件的策略,插件体系模块实际上并不是图形引擎的必须部分,它泛化出统一接口将具体算法的实现推迟到子类实现。由于采用统一的接口,开发人员或用户在学习此种图形引擎的时候,不需要关注不同图形接口的差异性就可以编写可移植代码,降低了开发难度,提高了开发效率。另一方面,由于差异性被屏蔽在统一的接口之下,图形开发人员或用户可以在不改变接口的情况下,根据需要开发出适合实际情况的插件,这样可以方便维护和升级,大幅度地提高了图形引擎的灵活性和可扩展性。(5)介绍了场景管理器,场景的管理方法,场景核心对象组织结构及自定义场景管理器,场景图与场景内容完全分离策略,并实现了图形引擎的场景管理器模块。(6)详细介绍了图形引擎的渲染系统模块,并对其进行了实现,包括可编程图形管线、自定义渲染组件和渲染目标技术。最后,对论文进行总结,提出不足和局限性。并对未来图形引擎系统的发展进行研究展望,包括人工智能技术、高级图形渲染技术、网络技术和最新技术(延迟着色、细分曲面等)。