DirectX 3D基础复习
主要是用于期末考试复习
D3D期末复习(书本)
第一部分:基础知识
1、在D3DX库中,我们用类D3DXVECTOR3表示3D空间中的向量
2、向量的计算:
(1)点积:
①u.v=0两个向量垂直
②u.v>0两个向量之间的夹角小于90度
③u.v<0两个向量之间的夹角大于90度
(2)叉积:p=UxV=[(UyVz-UzVy),(UzVx-UxVz),(UyVx-UxVy)]
3、D3DXMATRIX类型矩阵提供:
(1)求单位矩阵的函数:D3DXMatrixIdentity()
(2)求转置矩阵函数:D3DXMatrixTranspose()
(3)求逆矩阵函数:D3DXMatrixInverse()
(4)创建平移矩阵的函数:D3DXMatrixTranslation()
(5)创建旋转矩阵的函数:D3DXMatrixRotation()
(6)创建比例变换矩阵的函数:D3DXMatrixScaling()
(7)对点进行变换:D3DXVec3TransformCoord()
(8)对想向量进行变换:D3DXVec3TransformNormal()
第二部分:Direct3D基础
一、初始化D3D
1.D3D和图形设备之间有一个中间环节-----HAL(硬件抽象层)
2.参考光栅设备(以软件运算方式完全支持Direct3D API)——REF
3.COM(组件对象模型)是一项能使DirectX独立与编程语言并具有向下兼容的技术。常称COM为对象接口,可将其视为一个C++类来使用。使用完接口应调用相应的Release方法
4.表面——是Direct3D主要用于存储2D图像数据的一个像素矩阵
5.多重采样——平滑块状图像的技术。对表面进行多重采样常用语全屏反走样
6.交换连和页面置换技术主要用于生成更平滑的动画。
7.深度缓存(z-缓存),Direct3D为了判断某一物体的哪些像素位于另一个物体之前。深度缓存的格式决定了深度测试的精度。
8.顶点运算:
(1)软件顶点运算
(2)硬件顶点运算(优先考虑)
9.初始化Direct3D
(1)获取接口IDirect3D9的指针
(2)检查设备性能(D3DCAPS9),判断显卡是否支持硬件顶点运算。
(3)初始化D3DPRESENT_PARAMETERS结构的一个实例
(4)利用已初始化的D3DPRESENT_PARAMETERS结构创建IDirect3DDevice9对象
10.IDirect3D9对象的两个用途:
(1)设备枚举
(2