论文部分内容阅读
近几年来,3D图形技术得到了快速的发展,并且已经广泛应用于各个领域。显示引擎是应用程序实现3D图形渲染显示的必不可少的模块。传统的CAD显示引擎多是基于OpenGL技术开发实现的。基于GDI,OpenGL和DirectX三种技术来实现一个CAD的显示引擎,在国内尚属首次。本文完成基于DirectX部分的描述,设计和实现。首先,对要实现的CAD显示引擎进行了详细的需求分析,包括它的基本功能及本次设计的特殊功能需求,比如各种视口、投影方式、绘制、光照和材质、多边形的填充等。并且分析了相关的CAD软件的优缺点,掌握了基于GDI和OpenGL技术的显示引擎实现的相关情况,从而在整体上对设计的需求有了很好的把握。其次,结合DirectX的相关特性,依据需求分析,进行总体设计。给出统一的显示引擎接口和整体的设计方案。本次设计采用DirectX 9.0c开发,这是为了满足众多Windows XP系统的用户。然后,依据设计方案,完成基于DirectX部分相关功能接口的开发和实现。其中包括相机、视口和投影方式的设置,线以及三角形的不同绘制方式,光照、材质的设置,后台缓冲区的存储与恢复,各种绘制状态的设置等。最后,进行实验验证。包括对显示引擎的功能和性能的实验测试。通过验证,可以发现本次设计不仅能够完成需求分析中的各个功能要求,而且可以很好的应用于中国建筑科学研究院开发的CAD产品中,以接受更多用户的检验。本次开发没有用到DirectX中的Shader技术,全部绘制均由固定管线绘制完成。这为不能用Shader技术进行开发的情况或者仅支持比较低版本的Shader功能低端机器开发的DirectX应用程序提供了借鉴,也为将来采用Shader技术对该显示引擎进行升级提供了基础。