Direct3D学习笔记一:D3D概况

Direct3D是一种底层框架API,它能让我们利用3D硬件来渲染3D世界.

 

如图结构:

Application ------> Direct3D -----> HAL ----> Graphics Device

 

HAL:hardware abstration layer.硬件抽象层. D3D不能直接应用于图形硬件,因此D3D要求硬件

厂商去实现HAL.

 

REF Device:D3D  提供了 REF设备,它用软件模拟了所有的 D3D 调用接口, 仅仅调试用,不会发布给最终用户.

 

D3DDEVTYPE: 一种枚举类型,如D3DDEVTYPE_HAL.D3DDEVTYPE_REF.

 

COM:为了使D3D独立于语言,因此使用D3D就是使用COM接口.

 

表面:D3D的表面就是一些像素点阵. IDirect3DSurface9接口,

       IDirect3DSurface9->LockRect    获得一个指向表面内存的指针

       IDirect3DSurface9->UnLockRect  与LockRect相对,成对出现

       IDirect3DSurface9->GetDesc  填充D3DSURFACE_DESC接口,返回表面信息

 

Multisampling:全屏抗锯齿. D3DMULTISAMPL_TYPE. 用IDirect3D9::CheckMultisampletype

 

像素格式: D3DFORMAT枚举来指定. D3DFMT_R8G8B8等.

 

内存池:D3DPOOL枚举来指定:

D3DPOOL_DEFAULT,D3DPOOL_MANAGED,D3DPOOL_SYSTEMMEM,D3DPOOL_SCRATCH.

 

交换面和页面切换:IDirect3DSwapChain接口来表示

 

深度缓冲:D3DFMT_D24S8,D3DFMT_D32

 

顶点处理:3D学顶点基础,提供软件方式和硬件方式两种方式进行处理.

 

设备能力:D3DCAPS9,检测硬件支持的3D处理能力.如D3DCAPS9::DevCaps9

_____________________________________________________________________

 

初始化D3D过程:

 

1、获得一个IDirect3D9的接口,这个接口用于获得物理设备信息以及创建一个IDirect3DDevice9接口。

它是代表我们显示3D图象的物理设备的C++对象。

2、检测设备的技术特性。主要搞清楚其是否支持顶点处理,如果支持我们就可以创建IDirect3DDevice9对象了。

3、初始化一个D3DPRESENT_PARAMETERS的实例,包括很多数据成员,通过这些数据结构成员来指定将要创建的IDirect3DDevice9接口特性。

4、创建一个基于D3DPRESENT_PARAMETERS的IDirect3DDevice实例

 

你可能感兴趣的:(数据结构,框架,application,Parameters,图形,Direct3D)