- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DirectX实验集锦
实验一 第一个Windows程序实验二 DX11中的矩阵变换实验三 初始化Direct3D实验四 绘制三角形实验五 利用Effect框架绘制旋转的彩色立方体、(2)创建顶点缓存以及顶点索引缓存(3)设置变换坐标系实验六 光照效果 1. 定义外部变量 本例中的外部变量包括:坐标变换矩阵的常量缓存,材质信息的常量缓存和光源的常量缓存6. 定义Technique(4)设置材质和光照 实验七 用纹理绘制木箱子一、实验目的 (一)了解如何为图元指定纹理 (二)了解过滤,采样及寻址的基本原理 (三)掌握创建纹理的具体过程 二、实验内容 利用纹理绘制一个木箱子,通过方向键“↑↓←→”改变虚拟摄像机的位置。 三、实验步骤 (三)从实验五中复制d3dUtility.cpp和d3dUtility.h 将实验五中的d3dUtility.cpp和d3dUtility.h中的内容复制到实验七的对应文件中。 (四)编写Shader.fx文件 本例中Shader.fx文件和实验五相似,下面具体介绍该文件的编写方法。 1. 定义外部变量 2. 定义顶点结构 定义顶点着色器 4. 定义像素着色器 定义Technique 编写d3dLight.cpp文件 首先把实验五中d3dCube.cpp的内容全部复制到d3dLight.cpp中。另外清空Setup(), Cleanup()和Display()三个函数的内容。 添加全局变量和声明函数原型 在实验五声明的全局指针下面,添加 1 个全局变量 定义一个顶点结构 编写 Setup()函数 首先清空 Setup()函数,然后再向函数里填写代码: 主要包含2个主要步骤 第一步,从.fx文件创建ID3DEffect对象 第二步,创建顶点缓存 (1)从.fx 文件创建 ID3DEffect 对象 创建顶点缓存 由于顶点本来就有 36 个所以只需要顶点缓存,大家可以直接拷贝这些顶点数据,不用手动 输入。 //和实验4一样,创建顶点数组,由于每个顶点有包含了坐标和纹理坐标 //但是由于顶点的纹理不同,所以即使是同一个位置的三个顶点也必须单独定义 编写 Cleanup()函数 5. 编写 Display()函数 实验八 利用混合技术绘制水中的箱子 一、实验目的 (一)掌握如何利用不同纹理绘制多个物体的方法 (二)了解混合技术的基本原理 (三)掌握利用混合技术绘制半透明物体的过程 二、实验内容 利用混合技术绘制水池中的箱子,通过方向键改变摄像头的方位,同时通过F1-F3键改变光 照类型 实验步骤编写Shader.fx文件 本例中Shader.fx文件和同时包含了实验六和实验七的内容,大家在编写过程中,可以直接 从这两次实验的fx文件中把对应代码拷贝过来。 1. 定义外部变量 ////////////////////////////////////////////////////////////////////////// // 定义常量常量缓存 ////////////////////////////////////////////////////////////////////////// //坐标变换矩阵的常量缓存 cbuffer MatrixBuffer { matrix World; //世界坐标变换矩阵 matrix View; //观察坐标变换矩阵 matrix Projection; //投影坐标变换矩阵 float4 EyePosition; //视点位置 }; //材质信息的常量缓存 cbuffer MaterialBuffer { float4 MatAmbient; //材质对环境光的反射率 float4 MatDiffuse; //材质对漫反射光的反射率 float4 MatSpecular; //材质对镜面光的反射率 float MatPower; //材质的镜面光反射系数 } //光源的常量缓存 cbuffer LightBuffer { int type; //光源类型 float4 LightPosition; //光源位置 float4 LightDirection;//光源方向 float4 LightAmbient; //环境光强度 float4 LightDiffuse; //漫反射光强度 float4 LightSpecular; //镜面光强度 float LightAtt0; //常量衰减因子 float LightAtt1; //一次衰减因子 float LightAtt2;
文档评论(0)