第二章绘制三角形.docx
《第二章绘制三角形.docx》由会员分享,可在线阅读,更多相关《第二章绘制三角形.docx(8页珍藏版)》请在优知文库上搜索。
1、第二章:绘制三角形Introduction(Jf)所有的3D图形都是由三角形构成的。为什么是三角形而不是别的图形呢?因为三角形有许多优越之处,例如:绘制效率。(译者:而且我们知道,任意不在同一条直线上的三个点都能构成三角形,这对于在空间中形成某种复杂图形是很有益处的,我的理解.)所以,如果我们想得到个矩形,最有效率的是绘制两个相同的合并的三角形,这样要优于直接绘制一个矩形。所以,本教程下面将告诉你如何绘制复杂物体的最小单元:三角形。(译者:神奇的三角形啊.)Vertices(顶点)顶点(VerteX)是什么?顶点就是3D空间中的一个点。例如,三角形有三个顶点,而矩形有四个。在3D空间中,你可以
2、用三个顶点来指定一个三角形。想做到这些,你需要了解迪卡尔坐标系统。2DCartesiancoordinatesystem(2D迪卡尔坐标系统)下面的两幅图演示了2D迪卡尔坐标系统是怎样工作的。2DCartesianCoordinatesFig2.12D迪卡尔坐标系统是很简单的,用两条轴x、y的值来表示点的位置,进而表现出图形的位置。这是初中时我们就学习过的。3DCartesiancoordinatesystem(3D迪卡尔坐标系统)下面的两幅图演示了左手3D迪卡尔坐标系统是怎样工作的。两个轴显然不够用了,所以,有了第三个轴:z2D坐标系统只有X轴与y轴,因为它是平面的。而在3D空间里,轴。现在
3、,我们用这三个轴就能在3D空间中表示出物体的任意位置了。这其实是很简单的事情,我就不多说了。3DPrimitivesPrimitiVe为“原始”之意,3Dprimitive就是设备所支持的原始的类型。它包括:点列、线列、线代、三角形列、三角形带和三角扇形。使用3Dprimitive完成上述的图形是很方便的。以后我们会用3Dprimitive来绘制图形。下面的一些例子演示了上述的各种方式:PointLists(点列)(3k5,0)(7,5,0)(11,5,0)(1.1.0)(5,1,0)(9,1,0)Fig2.51.ineLists1.ineStripsTriangleListsFig2.8Tr
4、iangleStrips(三角形带)TriangleFans(三角扇形)FlexibleVertexFormat(FVF)(灵活顶点格式)FIeXibIe的意思是“灵活的”。这里不译为“灵活的顶点格式”而译为“灵活顶点格式”是有原因的:前者是一个短语,像是广告词一样;后者才更像是一种名词或术语。所以,我取了后者。灵活顶点格式(FVF)是用来描述顶点属性的一种格式,而这种格式是可以由我们自定义的,所以称它为“灵活顶点格式”。至此,我们至少知道了顶点有三种属性:X值、y值和Z值。其实顶点还可以有其他属性,例如颜色与亮度。利用灵活顶点格式(FVF)我们能方便的指定顶点的属性。如果我们在DireCt3
5、D指定了一个多边形,这个多边形将可以被它的各个顶点的属性所填充,带有过渡性的属性填充。我知道这个不太好理解,没关系,下面我们有例子,它也正是这样做的:在我们下面的例子中,将会有一个三个顶点所组成的三角形,三角形的每个顶点的颜色都是不同的,他们分别是红、绿、蓝,电脑中的三原色。三角形将会被这三种颜色混合的、渐变的填充起来。VertexBuffers(顶点缓冲)顶点缓冲就是一块用于保存顶点的内存缓冲区。顶点缓冲可以保存任何的顶点类型。当你的一些顶点已经被保存在顶点缓冲区中,你就可以操作它们了,例如渲染、变换和剪裁。Colours(颜色)在DireCtX中,如果我们要指定一种颜色,我们可以用D3DC
6、OLOR_XRGB宏。宏中有三个参数,每个参数都是0到255间的整数值,分别用于描述颜色的红、绿、蓝分量,然后D3DCOLOR_XRGB宏会将它们调和,就像水彩调色一样。例如:D3DCOLOR-RGB(Oz0,0)是黑色(无色)。D3DCOLOR_XRGB(255Z255z255)是纯白色(满色调)。D3DCOLOR_XRGB(Oz255z0)是亮绿色(没有红与蓝,全是绿色的分量)。D3DCOLOR-RGB(100z20,100)是暗紫色(100红,20绿,IoO蓝)。好了,我们第二章的例子就在这了。它和第一个例子差不多,只是添加了一些代码、做了些修改。仔细研究吧!Itseasy!includ
7、e1.PDIRECT3D8g_pD3D=NULL;1.PDIRECT3DDEVICE8g_pD3DDevice=NULL;1.PDIRECT3DVERTEXBUFFER8g_pVertexBuffer=NULL;/BuffertoholdverticesstructCUSTOMVERTEX(FLOATx,y,z,rhw;/Thetransformedpositionforthevertex.DWORDcolour;/Thevertexcolour.);#defineD3DFVFCUSTOMVERTEX(D3DFVFXYZRHWD3DFVFDIFFUSE)#defineSafeRelease(p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 绘制 三角形
