本文首先在诸论部分讨论了虚拟环境技术的研究现状,在第二章中对DirectX技术进行了必要的叙述,在第三章,对虚拟环境的造型技术做了简单介绍和对比。最后,在对DirectX技术研究的基础上,运用它建立了一个简单的讨论室,并对其涉及到的鼠标选取构件和摄像机的移动做了重要阐述。
整个程序主要分以下几个部分:
基类:Cbase类实现了以HTML格式生成记录文件和计算法线向量功能。所有的类将从这个类派生。
初始化部分:在这个部分中主要实现的是Direct3D,DirectInput,灯光,载入模型的初始化。
模型载入部分:由Cmesh类负责,载入的是X文件格式,此文件格式只包含模型的网格和材质信息以及纹理坐标信息,无纹理信息。
控制部分:虚拟环境的一个重要特征就是交互性。要进行交互,就必须要有控制部分。程序中主要实现的是物体的平移和旋转控制和摄像机在场景中的移动。此部分负责将各个控制信息传递给相应的处理部分。这部分直接由函数ProcessKeyboard负责。
渲染部分:图形渲染模块的主要作用是将程序建立的虚拟三维场景显示到二维的显示平面上。图形渲染是整个系统的关键所在,因为所有的工作只能通过图形渲染才能表现出来。
事件处理模块:虚拟环境不是一个静止不动的系统,系统中的对象和物体的状态时刻都会发生改变,这些状态的改变就被称为事件。当一个事件发生时事件处理模块及时检测到事件的发生,并对发生的事件做出相应的解释,此部分由GameLoop函数负责。