基于3DS文件读取的虚拟场景实现
2012-07-13马建仓
电子设计工程 2012年23期
陈 晓,马建仓
(西北工业大学 电子信息学院,陕西 西安 710129)
随着计算机图形学的发展,计算机动画、科学计算可视化和虚拟现实逐渐成为计算机图形学领域中3大重要技术,其中三维现与广泛应用于建筑学、医学、模拟仿真、虚拟现实等诸多领域[1]对大多数人来说,计算机真实感图形已不再是一个陌生的名词,它正日益广泛的深入到人们日常的工作、学习和生活中,在影视特技、广告动画中,人们已经领略到计算机真实感图形的神奇魅力。真实感图形是一种计算机生成技术,它首先在计算机中构造出所需场景的几何模型,然后根据假定的光照条件,计算画面上可见的各个景物表面的光亮度,从而产生逼真的视觉效果。
文中主要针对Autodesk公司的3DMAX软件建立几何模型,从而对生成的3DS文件进行编程,实现3DS文件的读取、重绘及控制。传统的基于过程的设计方法,由于相关函数多而且散杂同时数据又与函数分离,导致不便于程序的移植,为了克服这些缺点,本文采用了面向对象的程序设计方法,将3DS文件的形体数据读入到类中,然后利用光线追踪技术[2]实现对三维模型的渲染,使得生成的场景更加逼真,具有真实感。
1 3DS文件和OpenGL的绘制流程简介
1.1 3DS文件简介
3DS文件是基于块(chunk)结构存储的。一个块开始是2个字节的ID,4个字节的块长度信息,然后是块的主要数据。将3DS文件以16进制方式打开如图1所示,数据按照低位在前,高位在后的方式存储。例如,2个16进制字节FFAF组成的整型数,表明AF是高字节,FF是低字节;……
登录APP查看全文
