论文部分内容阅读
随着我国计算机应用的不断扩大化,各行各业对于三维图形系统的需求也越来越大,但是目前存在两个问题,一是现有硬件加速图形库和低端硬件设备之间难以协同工作,二是缺少规范的开源图形库制约了学习和研究,虽然各种操作系统上各种渲染库也很多,但几乎都是基于硬件加速,极少的一些软件图形库都是闭源或者是不成体系的,这就导致图形学方面的学习研究缺少一个规范图形库。在经过深入需求分析的基础上,在可行性的论证成立的前提下,本文以基本的三维渲染为目标,在分析现有图形库的工作原理和流程的基础之上,针对不同的目标平台,提出一个基于软件实现的、具备实用意义的三维图形渲染系统,并最终给予实现的代码。系统面向的客户群体是程序开发人员、图形学相关研究人员,为他们提供高质量的图形渲染代码,使他们能够在本系统基础之上进行图形应用的开发或研究,本系统并非应用而是应用的基础。系统总体设计分为三大部分,分别是基本渲染、高级渲染、场景漫游。基本渲染部分主要提供最基本的三维物体绘制功能,涉及顶点坐标变换和像素光栅化这两个部分。顶点坐标变换主要工作是将初始的顶点坐标数据从本地坐标系变换到最后的视口坐标系的过程。像素光栅化则是根据视口坐标系上面的顶点数据绘制基本的图元。高级渲染部分的设计目的是为了加强系统功能,这个模块主要是在基本渲染模块的基础之上,提供天空盒、地形图、动画等常见的三维系统要素。场景漫游部分是本系统的创新部分,其目的是进行大规模的物体渲染和碰撞检测,本模块重点对三维渲染中的两个细节进行优化,一是视锥体对物体进行可见性判断,二是物体的之间的碰撞检测,这两种优化使得本系统具备一定程度的实用性。在设计过程中,本系统高度抽象图形接口、输入、输出等功能,在代码级别分离操作系统底层细节,并严格遵守模块划分、平台无关、扩展性、安全性等设计原则,保证了系统的清晰、完整以及易学易用,能够为国内的三维图形学的交流和研究提供规范和支持。