Bakes on Mesh – Resources

Update 31-Aug-2019: Ubit Umarov, an Opensim developer, is working on further implementation of Bakes on Mesh for OpenSim with support for all 11 bakes textures (already in latest dev master) and the new Universal wearable.

This is a blog post to collect together resources related to the Bakes on Mesh [BoM] feature for Second Life and OpenSim. This has been in testing for some time by Linden Lab on Second Life, and the official Linden Lab viewer release dated August 26, 2019 as well as all Second Life regions supports this. More detail in these articles…

Firestorm view code is currently under development to merge in the changes to support BoM and development versions of Firestorm 6.3.1 are being tested for this.

Bakes on Mesh facilities allow mesh avatars to be used with standard avatar skins, tattoos and tight to skin wearables which is useful for undergarments, etc. It can help avoid the need for “appliers” used to apply textures onto mesh avatars, and “onion skin” outer meshes to give layers for clothing.

OpenSim and Bakes on Mesh

OpenSim dev master code as at OpenSim 0.9.1 1079 0e33014 (2019-08-28 04:54) can support some parts of BoM (thanks to Ubit Umarov) and using a test build of Firestorm 6.3.1 (thanks to the Firestorm team and Bill Blight for the test build – autobuild configure -c ReleaseFS_open – with map search patch and a couple of other tweaks):

  • The 6 basic bakes channels work for BoM (HEAD, UPPER, LOWER, EYES, SKIRT, HAIR)
  • The 5 added bakes channels are not supported for BoM (LEFTARM, LEFTLEG, AUX1, AUX2, AUX3)
  • The new “Universal” wearable type is not supported
  • Bakes are done using viewer side code and are a maximum of 512×512

Ruth 2.0 and Roth 2.0 Mesh Bodies with BoM

Open source resources in action… OpenSim virtual world server, Firestorm Viewer and Ruth 2.0/Roth 2.0 low poly mesh avatars…

Ruth 2.0 RC#3 and Roth 2.0 RC#1 Mesh Bodies with BoM on OSGrid RuthAndRoth region using Dev Master code as at 28-Aug-2019.

Example Simple Mesh Body and BoM

The Aditya_for_BOM.dae Collada sample avatar mesh file provided by Linden Lab can be found via the Bakes on Mesh Knowledge Base Article at Note its a very simple mesh body and a lot of the usual avatar shape adjustment sliders will not work on it (e.g. it has very large feet that cannot be changed).

This can be edited and textured manually with “Bake” textures when worn and edited, or this script could be used to set up the faces of the sample Aditya_90 avatar for BoM… thanks to Ubit Umarov…

        llSay(0, "Script running");

Simple HUD to Show Bakes In Use

NOTE: A HUD that may have parts BoM textured when attached to a HUD position will locally make the relevant parts of the underlying classic avatar transparent in the view of the avatar that attached such a HUD, but that does NOT show to other users. Its probably a viewer bug to have this difference in behaviour?

For testing… but see note above… a simple HUD can attached set up to show all 11 BoM textures that can be applied to a worn attachment. As shown in the following image, when using a viewer that supports BoM (such as the forthcoming Firestorm 6.3.1, test build 57811 pictured) the “basic” bakes channels already supported by OpenSim dev master code at 28-Aug-2019 (head, upper, lower, eyes, skirt, hair) are instantiated (skirt and hair are transparent in this example) whereas the new bakes textures (leftarm, leftleg, aux1, aux2, aux3) are not.

If a viewer that is not updated to support Bakes on Mesh is used, a set of coloured “fallback” textures will be displayed. These same fallback back images are used on any object face that is BoM textured when it is displayed in world, rather than attached to an avatar.

As a comparison, the same setup in Second Life with a BoM capable viewer looks like this…when a BoM textured object is rezzed I world it shows the coloured “fallback” textures…

Bakes on Mesh Resources and Issues

OpenSim Source Code – Dev Master –

Firestorm Viewer Source Code –

BAKES Texture Constant Names and Associated UUIDs

IMG_USE_BAKED_HEAD 5a9f4a74-30f2-821c-b88d-70499d3e7183
IMG_USE_BAKED_UPPER ae2de45c-d252-50b8-5c6e-19f39ce79317
IMG_USE_BAKED_LOWER 24daea5f-0539-cfcf-047f-fbc40b2786ba
IMG_USE_BAKED_EYES 52cc6bb6-2ee5-e632-d3ad-50197b1dcb8a
IMG_USE_BAKED_SKIRT 43529ce8-7faa-ad92-165a-bc4078371687
IMG_USE_BAKED_HAIR 09aac1fb-6bce-0bee-7d44-caac6dbb6c63
IMG_USE_BAKED_LEFTARM ff62763f-d60a-9855-890b-0c96f8f8cd98
IMG_USE_BAKED_LEFTLEG 8e915e25-31d1-cc95-ae08-d58a47488251
IMG_USE_BAKED_AUX1 9742065b-19b5-297c-858a-29711d539043
IMG_USE_BAKED_AUX2 03642e83-2bd1-4eb9-34b4-4c47ed586d2d
IMG_USE_BAKED_AUX3 edd51b77-fc10-ce7a-4b3d-011dfc349e4f

Bakes Fallback images for OpenSim have a solid colour 32×32 and are saved as JPEG2000 (.j2c) with “JPEG2000 Codestream Only” selected as save options (JPEG2000 J2C stream format). They also have “Lossless” (no compression) selected though that may not be important.

This entry was posted in OpenSim, Virtual World and tagged , , . Bookmark the permalink.