|
|
发表于 2006-11-17 12:03:00
|
显示全部楼层
Re:怎样调用SetStreamSource()函数?
D3D9 中允许一个 Stream 的 VertexBuffer 中可以存在多个不同的数据,比如 Pos\Texcood\Normal 等等,需要注意的是这里的不同数据指的是不同顶点格式的顶点数据,比如一个 VB 中有3部分:0~n-1 存储了n个 Pos+Normal,n~2n-1 存储了n个 Texcoord0,2n~3n-1存储了n个 Texcoord1,在绘制 multi-coord-texture 时就这样可以使用 OffsetInBytes :
SetStreamSource (0,pVB, 0, sizeof(PosNormal) ); // 设置 Pos+Normal
SetStreamSource (1,pVB, sizeof( PosNormal)*n, sizeof(TexCood) ); // 设置 texcoord0
SetStreamSource (2,pVB, sizeof( TexCood)*n,sizeof(TexCood) ); // 设置 texcoord1
这样就可以根据游戏情况灵活的进行绘制。 |
|