I've been slowly learning bmax and got interested in the opengl tutorials. I've progressed a bit and have decided to look at how I would store my data(vert's, UV's etc) in memory. There seems to be many different approaches from using arrays, banks or Tlist. I'd thought I would try with memalloc, here is what i have at the moment
My question is, are there any pitfalls using this approach people have come across? Any suggestions on better implementation of data storage would be welcome.
Type baseVert Field x:Float Ptr Field y:Float Ptr Field z:Float Ptr Field VertCount:Int Function Create:baseVert(numVerts:Int) Local tmpVert:baseVert=New baseVert tmpVert.x=Float Ptr(MemAlloc(NumVerts*4)) tmpVert.y=Float Ptr(MemAlloc(NumVerts*4)) tmpVert.z=Float Ptr(MemAlloc(NumVerts*4)) tmpVert.VertCount = numverts Return tmpVert End Function Method Delete() MemFree(Byte ptr(x)) MemFree(Byte ptr(y)) MemFree(Byte ptr(z)) End Method EndType Global a:baseVert a=baseVert.Create(4) a.x[0]=1.1 a.x[1]=1.2 a.x[2]=1.3
My question is, are there any pitfalls using this approach people have come across? Any suggestions on better implementation of data storage would be welcome.