读书人

DirectX的Vertex Buffer极点缓冲的理解

发布时间: 2013-10-27 15:21:49 作者: rapoo

DirectX的Vertex Buffer顶点缓冲的理解和应用 Shader必知必会

gd3dDevice->SetVertexDeclaration(Decl);gd3dDevice->SetStreamSource(0, mGridVB, 0, sizeof(VertexPNT));gd3dDevice->SetIndices(mGridIB));

如下定义了一个数组,包括了顶点位置,单位向量和纹理坐标。然后顶一个了一个IDirect3DVertexDeclaration9接口Decl

D3DVERTEXELEMENT9 VertexPNTElements[] = {{0, 0,  D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0},{0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0},{0, 24, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0},D3DDECL_END()};HR(gd3dDevice->CreateVertexDeclaration(VertexPNTElements, &Decl));


总的来说,这个是非常难理解的概念,但是要用shader的话,又是必须要过的第一关。这也是shader入门难的缘故之一吧。

读书人网 >编程

热点推荐