OpenSim rolls out mesh in one day

Just a day after Second Life launched its mesh beta, OpenSim already has experimental mesh in the latest test release, and people have begun trying the technology out on OSGrid’s experimental Danger Grid.

According to OpenSim core developer Justin Clark-Casey, the OpenSim implementation of mesh leverages the work done by Linden Lab in their experimental viewer, available for download here, under the heading “Second Life Project Viewers.”

Dan Olivares

The guy responsible is Dan Olivares (also known as Teravus Ovares) with assistance from Latif Khalifa and Intel’s John Hurliman.

Most of the heavy lifting is actually handled by the viewer. The viewer imports standard Collada-format meshes and converts it into a binary format. Those converted meshes are then stored as assets, similar to the way that scuplties are stored, Clark-Casey said.

The mesh support is now available in the latest cutting-edge release of OpenSim for people to download and experiment with, though it may take a while for all the bugs to get worked out and for it to be part of mainline OpenSim.

“I hear that there is a lot of crashing, though I imagine the bulk of this is attributable to the [Second Life] beta viewer rather than OpenSim,” said Clark-Casey.

In addition, collisions between mesh objects aren’t working yet, and meshes aren’t yet saved when an entire region is saved as an OAR file.

OpenSim developer Dahlia Trimble will be working on the collisions. And Clark-Casey said he will be looking at the OAR export issue himself.

And some additional work needs to be done with linking complex meshes together.

Meanwhile, the realXtend development effort, which has had working meshes in OpenSim for a year without getting much traction with the broader OpenSim user base, becomes almost completely irrelevant.

The realXtend project, and the associated modrex module for OpenSim, uses a different mesh implementation than that rolled out by Second Life.

As a result, the modrex work wasn’t helpful to the team bringing meshes to OpenSim.

“Certainly that module is not directly used in this implementation,” said Clark-Casey.

However, the realXtend team has done some interesting work, Olivares said, especially with the Naali viewer, which has a more business-friendly BSD-style license. The Second Life viewers are GPL licensed, and cannot be used to produce custom viewers for commercial sale.

“In the future, I hope to generalize the server-side mesh interface more so that things like [realXtend’s] Ogre meshes can be uploaded and used where available,” he said.

Where to try them out

After downloading the experimental project viewer, you will need to create an account on OSGrid’s experimental grid, Danger Grid.

Once you’ve got that, you will need to edit the shortcut to add –loginuri http://login.danger.osgrid.org

The meshes are on region danger 7.

Don’t put anything here you want to save — the region is a testing sandbox, and is regularly cleared out.

Maria Korolov, standing under a mesh robot on OSGrid's experimental Danger Grid.

OSGrid president Michael Emory Cerquoni (also known as “Nebadon Izumi”) tried out the new meshes.

“There is no physics collisions yet or the ability to upload textures at same time you’re uploading mesh,” he said, standing in front of a giant mesh monster. “But they are working on it.”

He added that there was also no way to ride a mesh creature yet.

As it stands right now, the OpenSim meshes can be used to do fly-throughs of complex imported objects from architectural drawing programs and computer aided design systems. They can also be used for trees and other landscaping elements.

But then again, it’s only been one day.


maria@hypergridbusiness.com'

Maria Korolov

Maria Korolov is editor and publisher of Hypergrid Business. She has been a journalist for more than twenty years and has worked for the Chicago Tribune, Reuters, and Computerworld and has reported from over a dozen countries, including Russia and China.

  • Toni Alatalo

    Hi,

    it is true that for people who have needed realXtend only for the mesh support, having the support also in Linden viewer and vanilla Opensimulator makes that combination a good option too. Once it matures at least, like gets physics to opensim and skeletal animations etc. RealXtend also supports bringing whole scenes in one go from Max/Maya/Blender etc.

    However, RealXtend added mesh support 3 years ago and we haven’t been sitting on our hands after that. Mainly the new architecture adds an extensible Entity-Component model, with which anyone writing new functionality can add arbitrary data to the in-world scene objects. That data is automatically synchronized also to all clients, and there is a client side scripting system, so you can write applications that have custom UI behaviour. For example there is a little demo where custom javascript code running in the client gets triggered upon mouse hover over a 3d object etc. And you can write custom app specific cameras etc. We have used the web browsers as an inspiration: web is a platform on which many apps with all different UIs can be made, like a map web app and an email web app have different kind of mouse handlers etc., and our target has been to make the same for a multiuser 3d app platform. SL like functionality is just one type of an application, it should not define the platform, and this is how the new realXtend architecture is implemented .. and it works with Opensim with the ModRex module. We are also collaborating with other Opensim developers to get this arbitary-data-in-scenes functionality to the core there.

    We are working on a nice demo of that towards the end of the year, so hopefully can show everyone something cool then. It is a must for developers, but hopefully proves useful for end users too ’cause it is easy to add all kinds of unforeseen functionality to the basic featureset.

    The idea of realXtend is to advance development of open standards for virtual worlds by quickly implementing necessary things. I think it is great that mesh support is spreading finally and hopefully we can get interoperability there. Perhaps in another 3 years we have interoperable Entity-Components + powerful scripting APIs too! 😉

    ~Toni

  • Ron Overdrive

    One thing to keep in mind though is the official Vanilla viewer and many of the new viewers based off it are LGPL licensed which is much more commercial friendly. Some viewers such as Phoenix and Imprudence are planning out re-basing on this LGPL code as well.

  • One further clarification – texture upload for the mesh isn't supported yet, which is why all the models are untextured or just coloured. However, I'm pretty sure that people are working on this – it's very much a rolling implementation.

  • Update from Justin Clark-Casey about how to run OpenSim with mesh on your own server:

    “From OpenSim itself, the only place to get it is from OpenSim’s Master branch. And I don’t really recommend this since that code can be unstable and can sometimes even cause data corruption. For instance, the MySQL driver there is known to fail migrations sometimes.”

    Instead, Clark-Casey recommends the OSGrid distribution of mesh-enabled OpenSim, which is available here:

    http://news.osgrid.org/2010/10/15/osgrid-0-7-x-release-for-pre-setup-inspection/

    It has been slightly adapted for extra stability, Clark-Casey said.

    “Although this is configured by default for OSGrid, it has full standalone/grid capability so people can just configure it back the other way,” he said.

  • Can I drool a bit??? I send an email last week to an organisation refusing to cooperate with a client of mine because of the lack of mesh support in Second Life; when we pointed out that SL was already experimenting with mesh upload… even though my client’s project is in OpenSim, and, in our reply, we said that we would expect mesh support in OpenSim to be available “in three to six months”.

    I had absolutely no idea that it would take… 24 hours 🙂

    Congratulations to the awesome team that made this possible, and thanks for keeping on top of the news, Maria!

  • Bwild

    "Olivares said, especially with the Naali viewer, which has a more business-friendly BSD-style license. The Second Life viewers are GPL licensed, and cannot be used to produce custom viewers for commercial sale."

    That is BSD meme and totally false premise; GPL means cannot be used in a proprietary licensed use. There are literally hundreds of commerical applications using GPL'ed software. Most notably gnu software used as "firmware" in hundreds of commerical residential routers, entire suites of gpl'ed software titles _sold_ commerically by various Linux and BSD distro's, and commerical offerings of gpl'ed titles one examples such as game titles and mobile apps for Android.

    Such nonsense meme's are best left to be dissected on Slashdot.

    Bwild http://www.zdnet.com/blog/networking/android-vs-i

    • Bwild — What I mean is that if a company releases a custom SL-compatible viewer, it has to release the source code. Yes, they can charge for it — but competitors can simply use that same code in their own viewers, and hand it out for free. Companies that distribute GPL-licensed software typically make money by charging for support — this is what Red Hat does — or custom development. And there are already folks building custom viewers for commercial grids, and charging for their time.

      And you can also release proprietary software that sits on top of open source platforms. There are plenty of proprietary games for Android, for example. But those games aren't GPL-licensed. Otherwise, why would people pay to download a game, when the same exact thing is available free?

      So, if the Second Life viewer was extensible — if you could add custom plugins or modules — you might be able to keep those plugins and modules proprietary. But I don't know if that's technically possible, and haven't heard of anyone doing this yet.

      Open Wonderland is an example of a GPL-licensed project where developers can keep their add-on modules proprietary, and charge people to use them.

      WordPress is another example of a GPL-licensed project, where developers make money by doing custom coding, and by selling proprietary add-on templates. But nobody out there is selling proprietary software adapted from WordPress itself.

      I can see Linden Lab's logic here. Why would they spend tons of money developing a viewer just to see someone take it, tweak it a little bit (say, just enough to make it fun and easy to use), then make big bucks selling it?

      The downside is that nobody is investing time and money into making the SL viewer fun and easy for the general to use. Instead, developers put time and effort making the viewer more fun and easy for THEM to use — and programmers have a very different idea of "fun and easy" from other people!