Meshmoon Graphics Improvements

Responding to artists’ feedback

Lately we have been focusing on improving our rendering quality. For a long time there has been a lot of demand from artists for better lighting, shadows, special terrain texturing and other rendering related features. We have always had these features available to some extent from the open source realXtend Tundra codebase, on what we build upon. But now we have decided to commit development efforts to really take Meshmoon graphics to the next level. The open source shaders have been stagnant for many years, getting minor tweaks here and there mainly from Meshmoon contributions. The main issue has been we don’t want to break things for the Tundra users, and that the shaders are designed and structured in a way that they are hard to modify and improve upon.

We are now introducing a stack of Meshmoon shaders written from the scratch that deliver and improve on all aspects of the rendering. If you have been monitoring the changelog closely, you might have noticed that we already sneaked most of the work in to the last Rocket release. This was for artists to test the the features before we integrate them fully to our asset editors and documentation. All existing worlds will look exactly the same as before, this change will not break old content. The new shaders are a opt-in feature, you can go to them if and when you decide. We will make the material editor UI a nice experience to upgrade and to create materials to the new shaders.

Target is to release the working shaders and update our editors, mainly the Material Editor, to support the new shaders. The new shaders are so much better that probably we will not allow you to create anything else from this point onward with the UI editors. You can of course still do custom Ogre material with the text editor or from blender, this option will not be removed. But for new users it would be too confusing to support no shaders, old shaders and the new shaders in the same UI, as anything but the latest shaders will not look as good.

See it in action


There are already a couple Meshmoon spaces where you can visit with the Rocket client to see the new shaders in action.

First one is “Meshmoon Shader Demo” that was a demo scene we created to showcase the new shaders. It’s not a complete space but shows you nicely how the new lighting and material features look like. The space has simple scripts to move lights around, which we intend to put as examples to our doc pages.

The seconds space is “Welcome To Meshmoon“, which was actually done by an artist. Once the shaders were out, I helped with port existing materials to the new shaders, which was quick. Then I got a little carried away and started doing scripts for a more interesting space. There are physics enabled platforms you can jump on to get from platform to another and the you can take a flight with the big rocket by pressing it. There is sound, particle scripts, web browsers and more to showcase a bit what you can do with Meshmoon.

You can click on the links to launch Rocket and login to the spaces or search for them by name in the Rocket lobby.

Meshmoon import from the Unity Editor

After the next Rocket release we will start making a exporter for the Unity Editor. It’s a great scene editor and the script plugin capabilities will offer us the possibility to export Meshmoon compatible geometry, materials and textures. In addition to the asset export we want to make the Unity Editor aware of our new shaders, and allow you to author complex materials with ease.

Ogre2blender exporter is great and its the recommended tool that we have today for importing your content to Meshmoon. However the material authoring of that plugin has some aspects we cannot simply modify as its a generic Ogre exporter. The plugin already has realXtend Tundra scene export functionality which is a bit of a weird place for it. There has already been some comments from the open source community there that these features should be moved out. Once that is done by someone we can think of integrating our new shader systems to that plugin. But if we are going to have to maintain our own plugin to accomplish these kind of things, we feel its better to start fresh.

The artist’s work flow with the Unity Editor then would be to author geometry in Blender/3ds Max/Maya etc., export that geometry as something the Unity Editor can import (e.g. dae, obj), finalize the authoring of materials/texturing in Unity Editor, and then do a Meshmoon export by drag-and-dropping the final product to your Meshmoon space.

We will announce more later when there is something to try out. Stay tuned…

Share Button