几何模型显示课件.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
g_d3dDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,4) (0.0,5.0,0.0) (0.0,5.0,0.0) (0.0,5.0,0.0) (0.0,5.0,0.0) (0.0,5.0,0.0) (0.0,5.0,0.0) D3DPT _ TRIANGLEFAN 示例 几何模型显示 Direct3D 坐标系 在空间几何中,绝大多数情况下使用笛 卡尔坐标系为参照系来表示图形,表三维图 形时需要使用三维笛卡尔坐标系。三维笛卡 尔坐标系根据 z 坐标轴相对 x,y 坐标轴方向的不 同,可分为左手坐标系和右手坐标系,它们 的区别方法是:将右手食指、中指、无名指 和小拇指顺着 x 轴正向到 y 轴正向旋转的方向, 如果大拇指的方向和 z 轴正向相同,就是右手 坐标系,反之就左手坐标系。 x y z x y z x y z 左手坐标系 右手坐标系 Direct 程序中常用坐标系 (150,50) (50,250) (250,250) 本程序执行结果 FVF 灵活顶点格式 FVF(Flexible Vertex Format) 用来描述在顶点缓 冲区中的顶点存储格式中包含了哪些属性。根 据图形显示的需要,顶缓冲区中的格式可以包 含顶点坐标、颜色、法线方向、纹理坐标等属 性。 名称 用 途 顶点坐标 表现顶点三维坐标 RHW 坐标系的 W 值,具有该值才是完成变换的顶点 结合浮点值 用于蒙皮制作,详见后面介绍 法线向量 表现顶点的法线向量,主要用于光源处理 扩散光 RGBA(r ,g,b,a) 宏值,表现苦战的扩散光颜色 反射光 RGBA(r ,g,b,a) 宏值,表现项占的反射色 纹理坐标 表现纹理坐标值, D3D 可以同时使用 8 个纹理坐标, 比如:想要进行法线,就可以将第一个值设定为扩 散数据,将第二个值设定为法线贴图数据。 FVF 标记数据的用途 值 说 明 D3DFVF_DIFFUSE 顶点格式包含漫反射颜色值 D3DFVF_NORMAL 顶点格式包含法线向量,不能和 D3DFVF _ XYZRHW 同 时使用 D3DFVF_PSIZE 顶点信息指明绘制点的大小 D3DFVF_SPECULAR 顶点格式包含镜面反射颜色值 D3DFVF_XYZ 顶点格式包含未经坐标转的顶点坐标,不能和 D3DFVF_XYZRHW 同时使用 D3DFVF_XYZRHW 顶点格式包含经过坐标转换的顶点坐标,不能和 D3DFVF_NORMAL 或 D3DFVF_XYZ 同时使用。 D3DFVF_XYZB1 …… D3DFVF_XYZB5 顶点格式包含用于骨骼动画的顶点和顶点对骨骼的权值 信息。 D3DFVF_XYZW 顶点格式包含经过坐标转换和裁判的顶点坐标,只可用 于可编程顶点流水线 D3DFVF_TEXT0- D3DFVF _TEXT8 顶点格式包含 0 - 8 个纹理坐标,用于纹理绘制。 FVF 灵活顶点格式说明符 struct CUSTOMVERTEX { float x,y,z,rhw,color; }; #define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE) CUSTOMVERTEX vertices[] = { { 150.0f, 50.0f, 0.5f, 1.0f, 0xffff0000, }, // x, y, z, rhw, color { 250.0f, 250.0f, 0.5f, 1.0f, 0xff00ff00, }, { 50.0f, 250.0f, 0.5f, 1.0f, 0xff00ffff, }, }; 三角形的 FVF 定义如下: 文件首部 #include <d3d9.h> LPDIRECT3D9 g_pD3D = NULL; LPDIRECT3DDEVICE9 g_pd3dDevice = NULL; LPDIRECT3DVERTEXBUFFER9 g_pVB = NULL; // 顶点缓冲 区 struct CUSTOMVERTEX { FLOAT x, y, z, rhw; // 顶点坐标 DWORD color;

文档评论(0)

zhaohuifei + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档