PBR Materials in Kitely

We’re happy to announce that Kitely now supports PBR Materials! Materials are supported both in Kitely worlds and in Kitely Market.

PBR materials are a way to create more realistic textures. For example, here are two spheres with PBR materials: mud and metal. The spheres’ surfaces seem like they have raised and lowered areas, and light reflects from them realistically.

You need a recent version of Firestorm in order to use PBR. We recommend using Firestorm 7.1.11 or newer.

Using PBR Materials

Using PBR materials is simple. When you’re creating a prim, instead of setting a Texture on the prim you can set a PBR Material:

Your inventory has a new folder called “Materials”, where you can collect PBR materials.

Creating PBR Materials

Although using materials is easy, creating them is a lot more complicated. We won’t attempt to describe how to do this here. If you want to learn more then a good starting point is the Second Life page about PBR materials (warning: it’s long!).

Support for 2048 x 2048 Textures

Kitely now supports textures as large as 2048 x 2048 pixels.

Please keep in mind, however, that large textures make worlds rez slower because viewers need more time to download the textures. Larger textures also take more graphics card memory, and this reduces the viewer’s FPS. So the question isn’t whether you can use larger textures (you can), but whether you should. Do you actually need the increased resolution?

Kitely Market

We’ve added support for PBR Materials in Kitely Market. We’ve renamed the category “Textures” to “Textures and Materials”, so that’s where you should put products that are primarily Materials. Of course, materials can also be a part of any other product; such products may appear in any category in Kitely Market.

PBR isn’t yet supported in all OpenSim grids. This is a feature that will be part of OpenSim 0.9.3, but that version of OpenSim isn’t finished yet so many grids (including Kitely) are still using the latest stable release, which is OpenSim 0.9.2.2. The reason that Kitely can support PBR now is that we ported the PBR features from OpenSim 0.9.3 into our version of OpenSim.

If your product uses PBR Materials then you should mention this in the product description. That’s because if someone from a grid that doesn’t support PBR buys your product then it won’t look right! You should let people know about this before they buy the product. Alternatively, make sure that your product also uses regular textures as a fallback, so that it will look decent even on grids that don’t support PBR.

PBR Terrains

Although the main use of PBR Materials is in objects, OpenSim also supports using them as terrain textures (instead of the dirt/grass/mountain/rock textures). This feature technically works, but we’ve encountered many problems when testing it. For example: if you enable PBR Terrain in the viewer, and then you disable it, then the viewer forgets your old textures and you have to set them again from scratch. So you can try using PBR terrains, but be ready for problems.

World Maps

World maps correctly show objects that use PBR. For example, if  you have a building with a PBR tile roof then you’ll be able to see it in the world map. Only the basic color texture will be used (what’s called the “albedo” texture); not the other PBR textures (normal/roughness/emissive). But that’s good enough for a map.

World maps don’t show PBR terrains at present. This feature is problematic so we decided not to try to display them in world maps, for now.

Support in LSL

A new feature related to PBR Materials is a prim option called “Reflection Probe”. The LSL functions GetPrimParams and SetPrimParams have been extended to support a new parameter for this option: PRIM_REFLECTION_PROBE.

At this time, we don’t think it’s possible to change the Material properties of a prim using LSL. The OpenSim page about PBR says that this should be possible, but we haven’t seen any specific code in OpenSim 0.9.3 that adds that feature. Please let us know if this works for you.

Published by

Oren Hurvitz

Oren Hurvitz is the Co-Founder and VP R&D of Kitely.