《几何模型显》PPT课件

《几何模型显》PPT课件

ID:36845904

大小:222.10 KB

页数:43页

时间:2019-05-10

《几何模型显》PPT课件_第1页
《几何模型显》PPT课件_第2页
《几何模型显》PPT课件_第3页
《几何模型显》PPT课件_第4页
《几何模型显》PPT课件_第5页
资源描述:

《《几何模型显》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章坐标系与基本图元Direct3D坐标系在空间几何中,绝大多数情况下使用笛卡尔坐标系为参照系来表示图形,表三维图形时需要使用三维笛卡尔坐标系。三维笛卡尔坐标系根据z坐标轴相对x,y坐标轴方向的不同,可分为左手坐标系和右手坐标系,它们的区别方法是:将右手食指、中指、无名指和小拇指顺着x轴正向到y轴正向旋转的方向,如果大拇指的方向和z轴正向相同,就是右手坐标系,反之就左手坐标系。xyzxyzxyz左手坐标系右手坐标系Direct程序中常用坐标系(150,50)(50,250)(250,250)本程序执行结果FVF灵活顶点格式FVF(FlexibleVertex

2、Format)用来描述在顶点缓冲区中的顶点存储格式中包含了哪些属性。根据图形显示的需要,顶缓冲区中的格式可以包含顶点坐标、颜色、法线方向、纹理坐标等属性。名称用 途顶点坐标表现顶点三维坐标RHW坐标系的W值,具有该值才是完成变换的顶点结合浮点值用于蒙皮制作,详见后面介绍法线向量表现顶点的法线向量,主要用于光源处理扩散光RGBA(r,g,b,a)宏值,表现苦战的扩散光颜色反射光RGBA(r,g,b,a)宏值,表现项占的反射色纹理坐标表现纹理坐标值,D3D可以同时使用8个纹理坐标,比如:想要进行法线,就可以将第一个值设定为扩散数据,将第二个值设定为法线贴图数据。F

3、VF标记数据的用途值说  明D3DFVF_DIFFUSE顶点格式包含漫反射颜色值D3DFVF_NORMAL顶点格式包含法线向量,不能和D3DFVF_XYZRHW同时使用D3DFVF_PSIZE顶点信息指明绘制点的大小D3DFVF_SPECULAR顶点格式包含镜面反射颜色值D3DFVF_XYZ顶点格式包含未经坐标转的顶点坐标,不能和D3DFVF_XYZRHW同时使用D3DFVF_XYZRHW顶点格式包含经过坐标转换的顶点坐标,不能和D3DFVF_NORMAL或D3DFVF_XYZ同时使用。D3DFVF_XYZB1……D3DFVF_XYZB5顶点格式包含用于骨骼动

4、画的顶点和顶点对骨骼的权值信息。D3DFVF_XYZW顶点格式包含经过坐标转换和裁判的顶点坐标,只可用于可编程顶点流水线D3DFVF_TEXT0-D3DFVF_TEXT8顶点格式包含0-8个纹理坐标,用于纹理绘制。FVF灵活顶点格式说明符structCUSTOMVERTEX{floatx,y,z,rhw,color;};#defineD3DFVF_CUSTOMVERTEX(D3DFVF_XYZ

5、D3DFVF_DIFFUSE)CUSTOMVERTEXvertices[]={{150.0f,50.0f,0.5f,1.0f,0xffff0000,},//x,y,z,

6、rhw,color{250.0f,250.0f,0.5f,1.0f,0xff00ff00,},{50.0f,250.0f,0.5f,1.0f,0xff00ffff,},};三角形的FVF定义如下:文件首部#includeLPDIRECT3D9g_pD3D=NULL;LPDIRECT3DDEVICE9g_pd3dDevice=NULL;LPDIRECT3DVERTEXBUFFER9g_pVB=NULL;//顶点缓冲区structCUSTOMVERTEX{FLOATx,y,z,rhw;//顶点坐标DWORDcolor;//顶点颜色};#define

7、D3DFVF_CUSTOMVERTEX(D3DFVF_XYZRHW

8、D3DFVF_DIFFUSE)颜色值的顺序0xAARRGGBBALPHA值:0x00~0xffR、G、B均为:0x00~0xffHRESULTInitVB(){CUSTOMVERTEXvertices[]={{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,},};if(FAILED(g_pd

9、3dDevice->CreateVertexBuffer(3*sizeof(CUSTOMVERTEX),0,D3DFVF_CUSTOMVERTEX,D3DPOOL_DEFAULT,&g_pVB,NULL))){returnE_FAIL;}VOID*pVertices;if(FAILED(g_pVB->Lock(0,sizeof(vertices),(void**)&pVertices,0)))returnE_FAIL;memcpy(pVertices,vertices,sizeof(vertices));g_pVB->Unlock();returnS_OK;}

10、创建顶点缓冲区在使用顶缓冲区绘图前,首

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。