I was wondering if anyone has any clues how to slice a trimesh in a number of different blocks of the same size programmatically (e.g as the NWN slice tool for 3ds max)
I'm not exactly sure what that slice tool for Neverwinter Nights does, but did you have a look at the code of the TerrainPage class? It's a quadtree implementation and therefore slices the trimesh into blocks.
The TerrainPage generates vertex and index data dynamically. What I want is to split one existing trimesh into submeshes of same size creating 3d tiles in the same way you can slice a 2d image.
You mean like turn it into tiles right?
Just use the indexbuffer to iterate through the vertexbuffer.Get three points, then you can calculate what range the triangle falls into. Then you can add that triangle to another buffer of your choice. If you don't care too much about (time) performance, it's not that hard to make.