[ODE] Rules for ODE trimeshes

Duncan Frostick duncanf at f2s.com
Tue Oct 5 17:02:54 MST 2004


Hi all,

I've been trying to work with trimeshes in ODE (mostly unsuccessfully 
unfortunately) for a while now, and while at first I thought my code was 
wrong, after several rewrites and rethinks I'm not seeing why my code 
might still be wrong, so I have to start exploring the possibility that 
it might be something wrong/unimplemented with ODE.

It seems that simple meshes - that is contiguous ones like boxes and 
small meshes up to around 28 vertices - are fine and 
dGeomTriMeshDataBuildSimple can generate trimesh data for them, but as 
soon as I feed it something like a teapot, or a non-contiguous mesh like 
some 3d text I get an access violation in opc_meshinterface.h line 135 
or 136 with the teapot - I have no idea why this is. The algorithms that 
give ODE the information are identical for both simple meshes and the 
more complex meshes, they're simply acting as a go-between between 
DirectX D3DCreate[Text, Box or Teapot] functions and ODE. The directx 
meshes are just plain meshes, not strips or fans or anything like that, 
and as far as I can see in my debugger, all the data is being copied 
between the DirectX ID3DXMesh struct and the dVector3 and int arrays 
just fine.

So, are there any rules for ODE trimeshes? What properties must they 
have/not have? And if there's anyone that's used reasonably complex 
meshes with ODE before, did you hit any problems like this?

Cheers, Duncan


More information about the ODE mailing list