Sign in to follow this  
  • entries
    88
  • comments
    117
  • views
    62056

More tools

Sign in to follow this  
dcosborn

236 views

I'm continuing to work on tools, although I hope to finish up soon and move on to some content creation. I enhanced the OBJ importer to support multi-material objects. I also wrote a separate-by-material script to fix some issues with Blender's built-in version (incorrect splitting of certain meshes, poorly named resulting objects).

Perhaps most importantly, I overhauled the long-unmaintained native mesh exporter. It can now export multiple objects at once, splitting materials into separate meshes. I also implemented vertex cache optimization as described in this paper. With a 32-entry cache it goes from ~33% to ~78% efficiency with the male base mesh. Somehow I think it should be better, but there are more important things to worry about at the moment. There are still a couple of minor details to convert from the old version of the script including mirrored face detection and baking double-sided faces. I also need to integrate the greatest minimum angle fgon->triangle conversion code from the OBJ importer which gives better results than simply connecting the closest vertices.

Lacking any better images, here is a shot of the exporter interface.


And here are the results of running the above. Note that some of the meshes are very small so the optimizer has little effect.
Exporting body
Splitting texture seams
Tessellating quads
Detecting mirrored faces
Baking double-sided faces
Sorting for cache coherence
Starting 33.61% efficiency
Achieved 77.15% efficiency
Wrote 2562 faces and 1579 vertices to c:\devel\page\trunk\res\sandbox\scene\town\harbor\test\body.mesh
Exporting dock-brick
Splitting texture seams
Tessellating quads
Detecting mirrored faces
Baking double-sided faces
Sorting for cache coherence
Starting 58.33% efficiency
Achieved 58.33% efficiency
Wrote 8 faces and 10 vertices to c:\devel\page\trunk\res\sandbox\scene\town\harbor\test\dock-brick.mesh
Exporting dock-stone
Splitting texture seams
Tessellating quads
Detecting mirrored faces
Baking double-sided faces
Sorting for cache coherence
Starting 51.39% efficiency
Achieved 51.39% efficiency
Wrote 24 faces and 35 vertices to c:\devel\page\trunk\res\sandbox\scene\town\harbor\test\dock-stone.mesh
Exporting dock-wood
Splitting texture seams
Tessellating quads
Detecting mirrored faces
Baking double-sided faces
Sorting for cache coherence
Starting 33.33% efficiency
Achieved 33.33% efficiency
Wrote 4 faces and 8 vertices to c:\devel\page\trunk\res\sandbox\scene\town\harbor\test\dock-wood.mesh
Exporting head
Splitting texture seams
Tessellating quads
Detecting mirrored faces
Baking double-sided faces
Sorting for cache coherence
Starting 30.51% efficiency
Achieved 78.17% efficiency
Wrote 910 faces and 490 vertices to c:\devel\page\trunk\res\sandbox\scene\town\harbor\test\head.mesh
Exporting shore
Splitting texture seams
Tessellating quads
Detecting mirrored faces
Baking double-sided faces
Sorting for cache coherence
Starting 44.70% efficiency
Achieved 70.45% efficiency
Wrote 44 faces and 39 vertices to c:\devel\page\trunk\res\sandbox\scene\town\harbor\test\shore.mesh
Exporting water
Tessellating quads
Detecting mirrored faces
Baking double-sided faces
Sorting for cache coherence
Starting 33.33% efficiency
Achieved 33.33% efficiency
Wrote 2 faces and 4 vertices to c:\devel\page\trunk\res\sandbox\scene\town\harbor\test\water.mesh

Once the exporter is complete, I'll be adding a few features to the Scene Editor that I haven't had a chance to do yet. Tomorrow, or when the sun comes up this morning, will be Friday, so I'll be spending a bit of time on Procyon as well.
Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now