Regarding the code below can someone clarify whether the tribank and vertbank continue to be used by ode after the trimesh is created?. In other words you couldn't use this function to create two trimeshs from two or more different b3d's as they would share the same tribank/vertbank.
Function CreateTriMesh:Int(trispace:Int,xscale:Float=1.0,yscale:Float=1.0,zscale:Float=1.0) Global TriBank:TBank=CreateBank(NTris*3*4) Global VertBank:TBank=CreateBank(NVerts*4*4) Local Offset:Int=0 Local TriOffset:Int=0 Local VertData:Vrts Local TriData:Tris For VertData:Vrts=EachIn B3DVrtsList PokeFloat(VertBank,Offset,xscale*VertData.X) Offset:+4 PokeFloat(VertBank,Offset,yscale*VertData.Y) Offset:+4 PokeFloat(VertBank,Offset,zscale*VertData.Z) Offset:+8 Next For TriData:Tris=EachIn B3DTrisList PokeInt(TriBank,TriOffset,TriData.V0) TriOffset:+4 PokeInt(TriBank,TriOffset,TriData.V1) TriOffset:+4 PokeInt(TriBank,TriOffset,TriData.V2) TriOffset:+4 Next Local TriMeshData:Int=dGeomTriMeshDataCreate() dGeomTriMeshDataBuildSimple(TriMeshData,BankBuf(VertBank),NVerts,BankBuf(TriBank),NTris*3) Return dCreateTriMesh(trispace,TriMeshData) End Function