2第2章Direct3D初始化主要目标:了解Direct3D与硬件图形设备之间的关系
了解Direct3D中组件对象模型(COM)所扮演的角色
学习基本的图形学概念,例如二维图片的存储、页面翻转及深度缓冲等概念
初始化Direct3D
熟悉本书示例中所使用的程序结构
1Direct3D体系结构Direct3D是一个图形应用程序的底层接口(API),通过该接口可以直接使用硬件的3D加速性能来渲染三维场景,可以认为Direct3D是应用程序和硬件设备之间的一个中间媒介
1展示了应用程序、Direct3D和硬件设备之间的层次关系
Direct3D不能直接和硬件设备打交道的原因是微型计算机拥有各种各样的显卡,每种显卡的能力都不一样,而且它们对相同功能的实现方式也不一样
1REF设备如果使用在Direct3D中提供了、但是硬件不支持的特性
Direct3D提供参考光栅处理功能(REF),它使用软件模拟的方法来实现整个Direct3D中的API
如果你的显卡不支持,就可以用REF设备来实现
只有程序开发者才有必要去深入地了解REF设备,当程序和DirectXSDK一起出售时没有必要告诉最终用户需不需要使用REF设备
由于REF通过软件模拟硬件功能,所以速度很慢,在实际的应用中很少用到
2D3D设备类型D3DDEVTYPED3DDEVTYPE_HAL由硬件实现功能D3DEVTYPE_REF由软件模拟实现功能D3DDEVTYPE为枚举类型,硬件初始化后其值为:62
2组件对象模型组件对象模型(ComponentObjectModel,COM)使DirectX具有了语言无关性和向后兼容性
当使用C++编写DirectX的应用程序的时候,许多COM组件方法和属性都可以直接调用
在COM技术中可以通过特殊的函数或者COM组件的某个接口来得到