电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Unity 基本图形绘制VIP免费

Unity  基本图形绘制_第1页
1/30
Unity  基本图形绘制_第2页
2/30
Unity  基本图形绘制_第3页
3/30
绘制基本图形学习重点:DX基本图元图元绘制学习目的:能够灵活使用各种图元1.图形绘制1.1图元游戏中的模型不管有多复杂,都是有点、线、三角形面拼接起来的。1.图形绘制1.1图元图元(Primitive)是由Direct3D定义的基本的图形表示单位,所有的复杂物体都是由这些基本图元来组合而成的。图元类型Direct3D定义含义点列集合D3DPT_POINTLIST一组点的集合线列集合D3DPT_LINELIST一组线段的集合线带集合D3DPT_LINESTRIP首尾相连的线段的集合三角形列D3DPT_TRIANGLELIST一组三角形的集合三角形带D3DPT_TRIANGLESTRIP首尾相连的三角形,有两个顶点重合三角形扇D3DPT_TRIANGLEFAN组成扇形的一组三角形1.图形绘制1.1图元DrawPrimitiveUP是Direct3D提供的基本图元绘制函数之一。HRESULTDrawPrimitiveUP(D3DPRIMITIVETYPEPrimitiveType,//基本图元类型UINTPrimitiveCount//绘制的图元的数量constvoid*pVertexStreamZeroData,//顶点的起始地址UINTVertexStreamZeroStride//每个顶点所占的字节数);点列(POINTLIST)点列由一系列的顶点组成。g_pDevice->DrawPrimitiveUP(D3DPT_POINTLIST,6,数组首地址,sizeof(一个顶点字节数));1.图形绘制1.1图元线列(LINELIST)线列由一系列的线段组成。线带(LINESTRIP)线带由一系列的线段组成,前一个线段的终点是下一条线段的起点。g_pDevice->DrawPrimitiveUP(D3DPT_LINELIST,3,数组首地址,sizeof(一个顶点字节数));g_pDevice->DrawPrimitiveUP(D3DPT_LINESTRIP,5,数组首地址,sizeof(一个顶点字节数));1.图形绘制1.1图元三角形列由一系列的三角形组成。三角形列(TRIANGLELIST)三角形带(TRIANGLESTRIP)三角形带由一系列的三角形组成,除了第一个三角形,其他的三角形只需要输入第三个顶点,这个顶点与前一个三角形中的后两个顶点组成新的三角形。g_pDevice->DrawPrimitiveUP(D3DPT_TRIANGLELIST,2,数组首地址,sizeof(一个顶点字节数));g_pDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP,4,数组首地址,sizeof(一个顶点字节数));1.图形绘制1.1图元三角形扇(TRIANGLEFAN)三角形扇是以扇形扩展的方式来定义三角形序列的。g_pDevice->DrawPrimitiveUP(D3DPT_TRIANGLEFAN,3,数组首地址,sizeof(一个顶点字节数));1.图形绘制1.2顶点的格式顶点(Vertex)是一切物体的最基本元素,对应着三维空间坐标系中的一个点。在Direct3D中,描述一个点的方法非常丰富灵活,可以通过特殊的组合来描述空间中点的各种属性。Direct3D引入了一个称为灵活顶点格式(FVF:FlexibleVertexFormat)的概念。灵活顶点格式是用来描述顶点属性的一种方法,这种方法可以由自己来定义顶点格式。FVF这种灵活的顶点组织方式使图形绘制中只需要使用顶点必要的组成部分,从而节省了大量的内存带宽和渲染时间。1.图形绘制1.2顶点的格式1.图形绘制1.2顶点的格式Direct3D定义的灵活顶点格式可以是以下类型的组合:值说明D3DFVF_DIFFUSE顶点漫反射颜色值D3DFVF_NORMAL顶点格式包含法线向量D3DFVF_PSIZE指明绘制顶点的大小D3DFVF_SPECULAR顶点镜面反射颜色值D3DFVF_XYZ顶点是未经坐标转换的坐标D3DFVF_XYZRHW顶点包括经过坐标转换的坐标D3DFVF_XYZB1….D3DFVF_XYZB5顶点格式包括用于骨骼动画的定点和顶点对骨骼的权值信息D3DFVF_XYZW顶点格式包含经过坐标转换和裁减的定点坐标D3DFVF_TEX0….D3DFVF_TEX8顶点格式包括0~8个纹理坐标如果使用灵活顶点格式,必须以以下顺序来格式化所有的顶点:位置,RHW,混合加权值,顶点法线,反射颜色,纹理坐标集(1-8套)。1.图形绘制1.2顶点的格式顶点格式的数据类型1.图形绘制1.3顶点的定义1.声明一个包含经过转换的坐标和点的颜色#defineD3DFVF_CUSTOMVERTEX(D3DFVF_XYZRHW|D3DFVF_DIFFUSE)StructCUSTOMVERTEX{FLOATx,y,z,rhw;//经过坐标转换的顶点格式DWORDcolor;//顶点漫反射颜色值}2.声明一个顶点的具体坐标,点的法向量坐标,纹理坐标structCUSTOMVERTEX{FLOATx,y,z;FLOATnx,ny,nz;FLOATtu,tv;};#defineD3DFVF_CUSTOMVERTEX(D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX1);1、根据自己的需要定义点格式2、定义完点格式后,必须声明该点格式3、定义顶...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Unity 基本图形绘制

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部