ENTITY* createCoolMesh( polygon input )
{
D3DVERTEX *vertexBuffer;
short *indexBuffer;
long *attributeBuffer;
LPD3DXMESH newMesh = NULL;
int numVertices = polygon vertices;
int numTriangles = polygon triangles;
D3DXCreateMesh(numTriangles, numVertices, D3DXMESH_MANAGED , pvertexdecl, pd3ddev, &newMesh);
newMesh->LockVertexBuffer(0, &vertexBuffer);
newMesh->LockIndexBuffer(0, &indexBuffer);
newMesh->LockAttributeBuffer(0, &attributeBuffer);
set up vertexBuffer[i] (at least the xyz position) for every i < numVertices;
set up indexBuffer[i] for every i < numTriangles*3;
set attributeBuffer[i] to 0 for every i < numTriangles;
newMesh->UnlockVertexBuffer();
newMesh->UnlockIndexBuffer();
newMesh->UnlockAttributeBuffer();
D3DXComputeNormals(newMesh,0);
ENTITY* ent = ent_create, ent_clone, ent_setmesh
return ent;
}