http://blog.csdn.net/loveclover

第三步:渲染并显示

将顶点数据填充到顶点缓冲中之后,下一步就是渲染显示。首先将后备缓冲设置成蓝色,之后,调用BeginScene

g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,255), 1.0f0L );
g_pd3dDevice
->BeginScene();

从一个顶点缓冲中渲染顶点数据需要以下几步:首先,你需要设置资源流;在这里,使用0号资源流。通过调用IDirect3DDevice9::SetStreamSource来指定它。

g_pd3dDevice->SetStreamSource( 0, g_pVB, 0sizeof(CUSTOMVERTEX) );

函数的第一个参数标识了设备数据流的来源。第二个参数是与数据流绑定的顶点缓冲。第三个参数是组件的大小,以字节表示。在前面的代码示例中,以CUSTOMVERTEX结构的大小来代替组件的大小。

下一步需要调用IDirect3DDDevice9::SetFVF用来指定固定功能的顶点渲染器。总体说来,自定义顶点渲染器是一个更高级的话题,但是在这里顶点渲染器仅仅是FVF代码。下面的代码片段用来设置FVF。

g_pd3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX );

SetFVF的唯一参数是用来指定顶点数据布局的代码。

下一步是使用IDirect3DDevice9::DrawPromitive来渲染顶点缓冲中的顶点:

g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 01 );

第一个参数用来指定需要绘制的类型。这里使用D3DPT_TRIANGLELIST来指定一个三角形顶点的列表。第二个参数是需要首先加载的顶点索引。第三个参数说明了绘制的个数。由于这里只绘制一个三角形,所以设置值为1

最后一步要做的是终止场景,并且将后备缓冲与前台缓冲互换。如下所示:

g_pd3dDevice->EndScene();
g_pd3dDevice
->Present( NULL, NULL, NULL, NULL );

当互换完成之后,客户窗口则会显示出一个每个顶点颜色都不同的三角形。

这个指南向你展示了怎样使用顶点渲染几何形体。指南3:使用矩阵 将介绍矩阵的概念以及如何使用它们。

posted on 2008-03-18 11:09 Sure 阅读(256) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
<2008年2月>
272829303112
3456789
10111213141516
17181920212223
2425262728291
2345678

导航

统计

常用链接

留言簿(5)

随笔分类

随笔档案

相册

搜索

最新评论

阅读排行榜

评论排行榜