一.初始化3D
1.应用程序,Direct3D以及硬件之间关系(HAL,硬件抽象层):
2.Direct3D是一套定义好的提供给用户和应用程序的函数与接口,虽然有些功能在当前的Direct3D中提供了,但是硬件却不一定能支持
3.由于不同硬件的实现方式以及代码原理不同,所以在完成相关功能时,Direct3D无法做到统一处理,故而需要借助HAL来指示硬件完成相关的功能,使得Direct3D无需了解设备的相关实现细节,设备提供商,将硬件所支持的全部功能实现到HAL中。
4.有时候,有些Direct所提供的功能不能为硬件所支持,我们又希望能使用这些功能,这时候,就会借助参考光栅设备(REF)来进行软件模拟。这种方式运行及其缓慢。
5.COM(Component Object Model,组件对象模型)是一种让Direct3D独立于编程语言的具备向下兼容的技术,可以看成一个接口,其创建不能用C++的new方法来实现,而且每次使用完成之后需要release。
6.表面,是Direct3D主要用于存储2D图像数据的一个像素矩阵,长宽分别对应于图像分辨率
7.像素矩阵表示图像时会出现块状效应(即锯齿明显),multisampling(多重采样)技术是用于平滑块状效应的技术,不过这种技术会显著降低运行速度。
8.创建表面或者纹理时,会需要指定像素的格式,这个格式常常由D3DFORMAT表示: