Breaking the 64k limit.

Blitz3D Forums/Blitz3D Programming/Breaking the 64k limit.

Vertigo(Posted 2007) [#1]
Hello folks... I was curious if any of you guys had a clue about this one.

Say I have a mesh that is 146,000 poly's give or take. The mesh is in OBJ format. Now if one were to load this to a surface it would be fine.. until the renderworld() function is called... at which point blitz mav's. So my question to you guys is it possible to manipulate a large mesh(> that blitz's display limit)?

The said object is a terrain mesh. Without using an external editor(yeah mel scripting in maya didnt pan out for this one due to remainders and offsets) is it possible to take a large mesh, divide it up into a grid of 16x16 separate meshes retaining UV coords during the object's load and have this take place in less than say 30 seconds?

Thanks,
Scott


Stevie G(Posted 2007) [#2]
There's a clusterisemesh function in the archives that does this. NOt sure who wrote it though.

Stevie


Danny(Posted 2007) [#3]
The 64k limitation is defined by the surface not the mesh entity. So you rebuild the mesh in 64k vertex/poly chunks, and each time duplicating the original surface. This way it looks the same but is internally split up into multiple surfaces within the same mesh. When copying vertices & poly's you copy the vertex normals as well as the uvw coordinates, so textures remain intact...

Since you import an OBJ - and therefor have to build the mesh manually anyway - you can implement this into the loader, this way it shouldn't take any additional time at all. It will only cost you additional surfaces. In your case 146k/64k = 2.3 = 3 surfaces in stead of the original 1 surface.

Hope this helps,

:Danny