Thursday, May 5, 2011

Particle Systems and Collisions: Next On The Menu

So for my particle system I've decided to go ahead and draw a back wall for them to bounce off of. I've already started digging around in some code I have and I think there's a better way for me to handle drawing floors and walls. Here's some sample code:


void DrawWalls()
{
LPDIRECT3DVERTEXBUFFER9 pWallVB = NULL, pFloorVB = NULL;
VOID* pData;

g_App->CreateVertexBuffer(sizeof(aWall),D3DUSAGE_WRITEONLY,
                                                                D3DFVF_CUSTOMVERTEX,D3DPOOL_MANAGED,
                                                                  &pWallVB,NULL);

pWallVB->Lock(0,sizeof(pData),(void**)&pData,0);
memcpy(pData,aWall,sizeof(aWall));
pWallVB->Unlock();


pFloorVB->Lock(0,sizeof(pData),(void**)&pData,0);
memcpy(pData,aFloor,sizeof(aFloor));
pFloorVB->Unlock();


g_App.GetDevice()->SetStreamSource(0,pWallVB,0,sizeof(D3DVERTEX));
g_App.GetDevice()->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,4);
}




Right now my code for drawing the floor isn't inside of a function so this is an area where I'll be doing some clean up. Not only will this clean up how the code looks but it will make it easier to compartmentalize later.






No comments:

Post a Comment