欢迎来到天天文库
浏览记录
ID:40534695
大小:85.00 KB
页数:8页
时间:2019-08-04
《DirectX3D 笔记》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、内容摘自《DirectX9.03D游戏开发编程基础》章节一.1.必备数学知识二.1.初始化Direct3D2.(固定)绘制流水线3.Direct3D中的绘制4.颜色5.光照6.纹理映射7.融合技术8.模板三.9.字体10.网格(一)11.网格(二)12.自定义Camera类13.地形绘制14.粒子系统15.拾取四.16.着色语言HLSL17.顶点着色器18.像素着色器19.效果框架一.1.必备数学知识1.1向量及坐标系选取,D3D中以LH/RH标记左手/右手坐标系。1.2向量运算:数乘点积-用于计算两个向量的夹角()及判断向量垂直。叉积-计算与两个向量所在平面垂直的向量,可用
2、于面片法向量的计算。1.3矩阵:在3D图形应用中,常用4X4矩阵和1X4行向量进行运算。由于多数变换无法用3阶矩阵表示3维变换,因此3D变换中的矩阵为4维矩阵。由于3维坐标空间中点和向量具有相同的表示形式,因此在进行运算时,将点和向量扩展至4D空间时,通过如下形式:表示点(保证能平移变换);以表示向量(防止平移变换)。1.43维空间中的变换:平移矩阵、旋转矩阵、比例变换矩阵1.5平面D3DXPLANE在D3D中存储平面及相应操作。平面定义为满足的所有点的集合,因此可通过平面法向量n和平面上一点表示,在代码中存储n和表示平面;平面可被看做4D向量(n,d)进行变换;当平面被规范
3、化(法向量为单位向量且重新计算d),则为p点到平面的最短有符号距离。1.6射线定义为。射线与平面的相交判定用于拾取的实现。二.1.初始化Direct3D1.1Direct3D提供了操纵图形设备(通过HAL硬件抽象层)的API。由HAL提供的硬件支持的功能可被D3D接口操作;硬件不支持时由REF设备实现,由D3DDEVTYPE枚举类型成员指定。1.2D3D中使用COM技术实现编程语言无关及向下兼容特性。在C++编程环境下可将COM组件当做C++类来使用。使用前创建,使用后通过Release清除。在D3D中COM由前缀I标记。1.3a.表面是D3D存储2D图像数据的像素矩阵。b.
4、多重采样用枚举量D3DMULTISAMPLE_TYPE标志。c.像素格式D3DFORMATd.内存池D3DPOOLe.交换链(由多个表面构成),页面置换f.深度缓存是只含有特定像素深度信息的表面。g.顶点运算software/hardwarevertexprocessing其中硬件运算需要图形卡支持,但可不占用CPU资源(使用GPU?)1.4设备性能D3DCAPS9结构的各数据成员用于检测硬件支持。1.5D3D初始化过程:1.获取接口IDirect3D9指针。用于设备枚举及创建IDirect3DDevice9对象。2.检查设备性能(D3DCAPS9)3.填充D3DPRESEN
5、T_PARAMETERS,创建IDirect3DDevice9对象(该C++对象代表物理硬件设备)。二.2.绘制流水线2.1固定绘制流水线(由CPU实现,区别于顶点/像素着色器)。局部坐标系->世界坐标系->观察坐标系->背面消隐->光照->裁剪->投影->视口坐标系->光栅化观察坐标系:D3DXMatrixLookAtLH/RHD3DTS_VIEW投影:D3DXMatrixPerspectiveFovLH/RHD3DTS_PROJECTION视口变换:D3DVIEWPORT9结构SetViewport()自动实现变换二.3.Direct3D中的绘制3.1顶点缓存/索引缓存是
6、用来存储描述图元(三角形)变量的结构。顶点格式包含各分量需自行定义,可包括顶点坐标、法向量、纹理坐标等。由FVF标记(D3DFVF)描述顶点的组织结构。Create(Vertex/Index)Buffer创建。Lock/Unlock用于访问缓存3.2设置绘制状态,SetRenderState将某个绘制状态设为某状态值。3.3绘制准备:a.SetStreamSource设置数据流入源。b.SetFVF设置顶点格式c.SetIndices设置索引缓存3.4在BeginScene/EndScene方法对之间调用绘制准备及DrawPrimitive/DrawIndexedPrimit
7、ive二.4.颜色4.1颜色由RGB三元组和融合因子Alpha组成,D3DCOLOR结构用于表示32bits颜色数据。在顶点结构中增加颜色结构可用于对图元进行着色。二.5.光照5.1材质(D3DMATERIAL9)决定了物体在特定光源下表现的颜色。5.2顶点法线用于确定光线到达表面(顶点)的入射方向。在顶点结构中增加顶点法线向量用于光照计算。通过给定构成三角形图元的三个顶点可求得面片的法向量:可令顶点法向量等于面法向量,或令顶点法向量等于共用顶点的各面法向量的均值。5.3D3D中光照由三种光的分量构成:
此文档下载收益归作者所有