More on meshes – hooray!

As if my wish had been answered, today Linden Lab announced that meshes will indeed be coming to Second Life, contrary to earlier fears. We don’t yet have a timescale but, despite the massive layoff of staff whose efforts must have contributed to this work (e.g. Qarl Linden/Fizz – Karl Stiefvater), somehow LL have managed to keep the idea going as a practical concern. Prokofy Neva has typically trolled the comments page at length, posing ridiculously as ever as the harbinger of doom that small content makers will be driven out. Too many such predictions about the end of SL as we know it have been made before, and all have been proved unfounded. I simply do not believe it. As ever, content creators will rise to the challenge, and they will excel.

This can only be a good thing. With ModRex waiting in the wings, you can bet that OpenSim will be on the case: in fact, they were ahead of the game on this one. LL realised this, as I said they would, and do not want to be seen to be lagging behind their competitor and spin-off imitator, which already has other significant functionality that SL lacks. To be behind in something so fundamental and obvious could kill SL and send people running for OpenSim. But SL has the advantage of being first at the party, and LL naturally wants to keep it that way rather than surrender to the many new grid providers running the OpenSim software on their servers across the Web.

By the way, OpenSim 0.7 now fully supports the Linden Viewer 2.0 codebase. If, as expected, meshes are only available in the 2.x branch and not the 1.x branch, the third party viewer developers will have to play catch up. But this is something that they have done before with Snowglobe in double quick time, and I would put very little past their ingenuity and determination where it concerns keeping up and surpassing the Linden viewer code. There is also the alternative of adapting the existing GPL code used in the RealXtend viewer that can already display meshes, although this was written for the 1.x codebase.

As I said in the previous post, it is meshes that will allow both SL and OpenSim to continue to compete and outperform the other virtual worlds, to remain modern in terms of attractive, industry standard graphics capability, to provide ever improving content creation, and to attract new users.

Meshes, third-party viewers, ModRex, and OpenSim

It was widely reported recently that Qarl Linden (also Qarl Fizz in civvy street, and Karl Stiefvater in real life), had been fired from his job at Linden Lab as a result of the restructuring/cost-saving exercise that they carried out earlier in the year. (It’s still not clear whether, after the announcement of his joining the Emerald team, whether he remains there, has transferred to Phoenix, or is no longer associated with either.) The importance of this is that he was the major developer behind the adoption of meshes in SL, which it appears has now been abandoned. Meshes, for those that don’t know, can do two things:

(1) Allow objects to be any shape natively, avoiding the halfway house that is sculpted prims. Sculpties appear first as blobs and then take their shape according to an additional texture which acts as a texture map. Instead, mesh objects could be imported from external 3D modelling software and other sources already on the Web.

(2) Allow avatars to be any shape, no longer necessarily relying on the crude controls created by Linden Lab, which survive from its early days. This allows shapes to be imported from external sources, and would allow far more realistic avatars, as well as all sorts of other shapes for avatars, including non-human ones. This is possible using ModRex and RealXtend with OpenSim.

At present, it is possible to use ModRex with OpenSim, but the majority of grids running OpenSim do not. Why? The main reason is that most third-party viewers, e.g. Phoenix (formerly Emerald), Imprudence, Hippo, Ascent, do not support meshes. You would have to download the RealXtend Viewer to do this. There is also an experimental viewer called Naali, which has been designed to avoid using any code from the Linden Viewer and thus avoid the GPL licence. However, Naali does not yet support multiple regions, which means that you can’t teleport out from the sim that you log into. So the best solution for most people remains the RealXtend Viewer at present, which is a heavily modified third-party viewer, based on the standard Linden code.

The problem with RealXtend is that it is only used by a handful of devoted developers and has not achieved any market penetration. There is little point using it with SL, which does not support meshes. Few people use it with OpenSim. Would it not be better to capitalise on the market penetration of popular viewers like Phoenix and Imprudence by enabling meshes in grids that support it? Naturally, this should not affect their performance in SL, or in OpenSim grids that do not enable ModRex. As the RealXtend code is under the GPL like the other third-party viewers based on Linden code, the necessary modifications to the code are already available to and reusable by the Phoenix and Imprudence developers.

Although the third-party viewers support OpenSim grids, it has not by and large been their focus. I’d suggest that they need to wise up to the increasing flow of users to OpenSim grids, which are now viable, stable alternatives to SL, some of which have currency and functioning economies. If the major viewers support ModRex, its development will become more of a priority for the OpenSim developers, and their eventual plan to make it a standard module for OpenSim will be realised quicker. The metaverse would, at a stroke, become far more attractive because of the ability to support modern, games-style graphics that meshes would deliver. For a long time now, SL and OpenSim have been visually old-fashioned, and thus they lose users to otherwise less sophisticated virtual worlds. If OpenSim supported a functionality that SL doesn’t, and yet the viewers that are used to connect to SL can support, there would be a strong impetus to implement it in SL too, in order to remain competitive.

In short, mesh support in Phoenix, Imprudence and other viewers, taken from the GPL RealXtend code, would dramatically increase the attractiveness of OpenSim, and probably SL as soon as the risk of being outdone by the competition drove them to follow suit. One ModRex becomes standard in OpenSim, content will be better, cheaper, and the metaverse will move into a new, more modern era. The revolution in content quality will be greater than what was offered by flexible and sculpted prims put together. While meshes are not available, other platforms will increasingly steal users away from OpenSim and SL. It must therefore be the biggest priority for OpenSim, if our way of life in the 3D metaverse is to develop, thrive and survive.