- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内容摘自《DirectX 9.0 3D游戏开发编程基础》
章节
一.1.必备数学知识
二.1.初始化Direct3D
2.(固定)绘制流水线
3.Direct3D中的绘制
4.颜色
5.光照
6.纹理映射
7.融合技术
8.模板
三.9.字体
10.网格(一)
11.网格(二)
12.自定义Camera类
13.地形绘制
14.粒子系统
15.拾取
四.16.着色语言HLSL
17.顶点着色器
18.像素着色器
19.效果框架
一.1.必备数学知识
1.1向量及坐标系选取,D3D中以LH/RH标记左手/右手坐标系。
1.2向量运算:数乘
点积-用于计算两个向量的夹角()及判断向量垂直。
叉积-计算与两个向量所在平面垂直的向量,可用于面片法向量的计算。
1.3矩阵:在3D图形应用中,常用4X4矩阵和1X4行向量进行运算。
由于多数变换无法用3阶矩阵表示3维变换,因此3D变换中的矩阵为4维矩阵。由于3维坐标空间中点和向量具有相同的表示形式,因此在进行运算时,将点和向量扩展至4D空间时,通过如下形式:表示点(保证能平移变换);以表示向量(防止平移变换)。
1.4 3维空间中的变换:
平移矩阵、旋转矩阵、比例变换矩阵
1.5平面D3DXPLANE在D3D中存储平面及相应操作。平面定义为满足的所有点的集合,因此可通过平面法向量n和平面上一点表示,在代码中存储n和表示平面;平面可被看做4D向量(n,d)进行变换;当平面被规范化(法向量为单位向量且重新计算d),则为p点到平面的最短有符号距离。
1.6射线定义为。射线与平面的相交判定用于拾取的实现。
二.1. 初始化Direct3D
1.1 Direct3D提供了操纵图形设备(通过HAL硬件抽象层)的API。由HAL提供的硬件支持的功能可被D3D接口操作;硬件不支持时由REF设备实现,由D3DDEVTYPE枚举类型成员指定。
1.2 D3D中使用COM技术实现编程语言无关及向下兼容特性。在C++编程环境下可将COM组件当做C++类来使用。使用前创建,使用后通过Release清除。在D3D中COM由前缀I标记。
1.3 a.表面是D3D存储2D图像数据的像素矩阵。
b.多重采样用枚举量D3DMULTISAMPLE_TYPE标志。
c.像素格式 D3DFORMAT
d.内存池 D3DPOOL
e.交换链(由多个表面构成),页面置换
f.深度缓存是只含有特定像素深度信息的表面。
g.顶点运算 software/hardware vertex processing 其中硬件运算需要图形卡支持,但可不占用CPU资源(使用GPU?)
1.4 设备性能 D3DCAPS9结构的各数据成员用于检测硬件支持。
1.5D3D初始化过程:
1.获取接口IDirect3D9指针。用于设备枚举及创建IDirect3DDevice9对象。
2.检查设备性能(D3DCAPS9)
3.填充D3DPRESENT_PARAMETERS,创建IDirect3DDevice9对象(该C++对象代表物理硬件设备)。
二.2.绘制流水线
2.1 固定绘制流水线(由CPU实现,区别于顶点/像素着色器)。
局部坐标系-世界坐标系-观察坐标系-背面消隐-光照-裁剪-投影-视口坐标系-光栅化
观察坐标系:D3DXMatrixLookAtLH/RH D3DTS_VIEW
投影:D3DXMatrixPerspectiveFovLH/RH D3DTS_PROJECTION
视口变换: D3DVIEWPORT9结构 SetViewport()自动实现变换
二.3. Direct3D中的绘制
3.1顶点缓存/索引缓存是用来存储描述图元(三角形)变量的结构。顶点格式包含各分量需自行定义,可包括顶点坐标、法向量、纹理坐标等。由FVF标记(D3DFVF)描述顶点的组织结构。
Create(Vertex/Index)Buffer创建。
Lock/Unlock用于访问缓存
3.2设置绘制状态,SetRenderState将某个绘制状态设为某状态值。
3.3绘制准备:
a. SetStreamSource设置数据流入源。
b. SetFVF设置顶点格式
c. SetIndices设置索引缓存
3.4在BeginScene/EndScene方法对之间调用绘制准备及DrawPrimitive/DrawIndexedPrimitive
二.4.颜色
4.1 颜色由RGB三元组和融合因子Alpha组成,D3DCOLOR结构用于表示32bits颜色数据。
在顶点结构中增加颜色结构可用于对图元进行着色。
您可能关注的文档
最近下载
- 减震器说明书.doc
- 饮料浓浆 团体标准.docx VIP
- 必威体育精装版中小学教师高级职称晋升初中语文学科讲课答辩真题汇编(附答案详解).pdf
- 电解质饮料 团体标准.docx VIP
- 东风雪铁龙C5汽车使用手册用户说明书pdf电子版下载.pdf
- CVP监测危重患者液体管理.ppt VIP
- 六年级数学分数混合运算专项练习题.pdf VIP
- 小学二年级上册道德与法制 道法 备课 学历案.docx VIP
- 基于“双高”背景下高职院校一流师资队伍建设的思考-来源:现代职业教育(高职高专)(第2020030期)-山西教育教辅传媒集团有限责任公司.pdf VIP
- 第二届全国数字化机房安装技能竞赛(电气设备安装工赛项)考试题库资料-下(多选、判断题汇总).pdf
文档评论(0)