Today’s work has been gathering sources for prim construction. The base library is PrimMesher. Then there is MeshmerizerR which is part of libopenmetaverse. (By the way, the “R” in “MeshmerizerR” is my initial.) “MeshmerizerR” is different from Meshmerizer that is in OpenSimulator in that it builds “faceted meshes” – meshes that are renderable with all the prim faces separated so textures, etc can be applied.
I should explain that, in the beginning, SecondLife defined all objects in their virtual world with procedural shapes. These are the ‘prim’s of which I speak. A ‘prim’ is a geometric shape (circle, square, …) projected along a path and then twisted, cut, and otherwise modified by parameters. The parameters for the construction of the displayable mesh is a ‘prim description’. The SecondLife(r) viewer would receive prim descriptions from the server and construct meshes for display. This design made sense when bandwidth was very limited (back in the modem days).
PrimMesher was independently developed code that implements the conversion of prim description to mesh.
libopenmetaverse is an independently developed SecondLife(r) protocol client. It has many functions for scripting a SecondLife(r) or OpenSimulator virtual world but it also includes functions for calling PrimMesher and created meshes.
The GitHub copies of PrimMesher and MeshmerizerR haven’t changed in a long time (and, in one case, the developer has sadly passed away) but they have been forked and copied into other viewer projects. This means that, if improvements were made, they are in other source repositories. Thus the job of finding the improvements and collecting them.
SecondLife(r) has added other formats and now there are sculpties as well as meshes. The mesh reading code has been added to OpenSimulator so that code needs to be incorporated into my code. Luckily, all of this code uses the BSD License so the merged code will be distributable.
I might end up creating a pull request or patch to update libopenmetaverse.
I also spent some time today installing and playing with High Fidelity’s virtual world Sandbox and Interface. I will want to look into their asset storage system but the user interface and experience is still pretty rough. Not sure where they are going with their system but they have developed a lot of very cool avatar and infrastructure technology.