So I just wrote a small plugin for compressing the geometry of a 3d scene
. It went surprisingly well: It achieved a reduction between 50% and 70% for some of my test scenes:
What it does is to merge vertices with similar attributes. I noticed that for most scenes, people don't need the exact vertex colors and normals, so vertices with the same positions and texture coordinates can be merged. This doesn't work with all types of scenes of course, but for some, they look identical, but have now a 70% smaller file size. Which is a huge deal if you are using a web based platform such as WebGL.
I plan to add some more features into CopperCube like this, like making the file format used for WebGL more compact. I guess it will be possible to make it again about 20-30% smaller. But let's see.