Firestorm rendering, LOD and physics

On Wednesday, January 24th, 2018, the Firestorm team released Firestorm This is a significant update to the viewer, incorporating code updates from a number of recent viewer releases from Linden Lab, as well as some major updates from the Firestorm team and a number of important new features and updates, as well as a range of bugs fixes and improvements.

Given the extent of the updates in this release, and in keeping with my usual approach to Firestorm releases, what follows is  not an in-depth review of everything new  / updated in version, but rather an overview, highlighting some of the more significant changes and updates I feel will be of most interest to users.

For full details of all changes, and all due credits to contributors, etc., please refer to the official release notes.

The Before We Begin

  • There is no need to perform a clean install with this release if you do not wish to.
  • Do, however, make sure you back-up all your settings safely so you can restore them after installing 5.0.11.

Major Lab Derived Updates

Firestorm 5.0.11 brings the viewer up to parity with the Lab’s 5.0.9 code base. It includes the following major updates from the Lab.

  • Asset-HTTP Project: Firestorm now fetches the majority of inventory assets (landmarks, wearables – system layer clothing and body parts), sounds, gestures and animations) the same way as textures, mesh and avatar baking information: via the Content Delivery Network (CDN), rather than through the simulator. This should make loading of such content both faster and more reliable.
  • 64-bit Havok sub-libraries: the 64-bit version of Firestorm now uses Havok physics with the mesh uploader , and can now visualise the pathfinding navmesh.
  • Group ability Always Allow ‘Create Landmark’:  this was accidentally removed from the viewer, and has now been returned. When enabled on a group role, it allows members of that role to override the teleport routing (e.g. right-click >teleport to) on the parcel if a landing point is set, as long as Direct Teleport is enabled on the region (BUG-100719).
  • Incorporation of the Martini (November 2017),  Moonshine (September 2017) and Margarita (August 2017) viewer updates.

Note: while Firestorm includes the 64-bit Havok sub-libraries for Second Life, it is not using Linden Lab’s Alex Ivy 64-bit code base. That will be for the next FS release.

Firestorm Updates and Additions

Viewer Performance: Mesh Rendering Information Features and Updates

Key among the updates to this release of Firestorm are new features and updates to a number of floaters intended to help users make better judgement calls on how content in Second Life might be affecting their viewer performance, and potentially make more informed choices about the goods they purchase in-world.

Build Floater – Physics View

The Show Physics Shape icon (Build Floater > Features tab) – disabled (top); enabled (bottom)

Firestorm now includes an option to viewing the physics shape of objects you can edit. Among other things, this can help avoid having items you drag from inventory fail to appear in-world, with the message “Failed to place object at specified location. Please try again.” appearing in the top right corner of the viewer window.

The option is on the Features tab of the Build floater, and takes the form of an eye icon to the right of the Physics Shape drop-down.

  • If displayed with a red line through it (default): show physics shape is disabled
  • If shown without a red line through it: show physics shape is enabled.

When enabled, the selected object’s physical shape is shown in blue. Sometimes this will match the shape of the object itself (below left); other times, it may not (below right). Any attempt to rez another item on the part of the object covered by the blue will succeed; any attempt to rez on the part of an object not covered by the blue will likely result in the “Failure to place object” message.

The show physics shape option: Build floater > Features > eye icon next to Physics Shape Type drop-down. When enabled, it shows the physics shape of an object, which may (l) or may not (r) match the physical shape of the object. Click for full size, if required

Showing the physics shape of surfaces reveals why some may be walkable and why avatars may have problems with others – such as colliding with “something” while apparently not standing close to an object, or being unable to pass through a gap or open doorway.


Build Floater: Mesh Information

The Build floater also provides a range of new information specific to mesh objects and their level of detail (LOD). This can be seen on the Object tab of the floater when a mesh object is selected. For prim objects, the tab is unchanged and will display the “old” information (Path Cut, Hollow, Twist, Taper, etc.).

For a detailed examination of LOD please refer to For LOD’s sake stop! by Beq Janus. The following is intended to provide a brief overview of the mesh object information.

Mesh objects can comprise up to four different versions, as defined by the creator a very High detailed model, with a high count of triangles, displayed with the object is being viewed up close, and then up to three models with progressively less detail (fewer triangles), designed to be used the further away the camera is from the object (Medium, Low and Lowest). These are collectively referred to as level of detail models, and are designed to improve the rendering of scenes. In essence, the further away (or smaller) and object is, the less detail can be seen and so the less detailed versions can be under when rendering it, easing the overall rendering load.

The first two parts of the mesh information related to these models when a mesh object is selected:

  • Mesh Information: lists the number of triangles used in each of the LOD models the creator has provided (note that if two ore more of the model types has the same triangle count, it indicates the same model is being used (so if Low and Lowest both show 3, or example, the same 3-triangle model is being used for both)
  • Default Drop-down: allows you to preview each of the different LOD models for the object (make sure Default is selected after use).
Up to four LOD models can be defined for SL – from a highly detailed, high triangle count version to a very low detail / low triangle count version (top). The Mesh information display allows the triangle count for the available LOD models of an object to be checked (Mesh Information section), and the actual models themselves previewed (Default drop-down). It also provides information on when the models will be swapped, one to the next, according to your viewer’s LOD Factor and the distance of your camera from the object (shown enlarged on the right) – click for full size

The Object LOD behaviour section defines the distances from your camera at which the different LOD model will be swapped one for the next, as defined by the Linden Lab (LL) default LOD Factor (1.250), the Firestorm (FS) default LOD Factor (2.000) and your current LOD factor setting.

Why Is All This of Interest?

The idea behind these updates is to help users understand how some things in Second Life can impact your viewer performance. In this case: your LOD Factor setting.

Very simply put: some mesh content in Second Life is made with only two version: a very high detail model, and a very low detail model – and there can be valid reasons for this (e.g. furnishing and indoor objects which are never seen from more than a few metres away, and so their detailed version is rendered). However, it does mean objects can “collapse” very quickly with only minimal camming away from them.

To compensate for this, some content creators advise purchasers to increase their viewer’s LOD Factor to values such as 10, 12, 14 or more, using the RenderVolumeLODFactor Debug setting. However, LOD Factor is a global setting, affecting everything in your field of view not just the object in question. Therefore, increasing it just to see one object can actually force many of the objects you can see to render using their more detailed LOD models, whether or not they are actually needed. This increases the overall rendering load, reduces FPS, and generally pulls down your experience.

By providing this render information, Firestorm hope users will be able to make better judgement calls on their viewer settings to assist in better performance, and have a better understanding of “good” and “bad” content.

RenderVolumeLODFactor Behaviour Update

To further help with viewer performance, the behaviour of the RenderVolumeLODFactor Debug has been changed in Firestorm Any attempt to set the debug above 4.00 will result in a warning:

New RenderVolumeLODFactor warning and information, displayed when setting it above 4.00

Note this does not present the debug from being set higher than 4.00, but do take note of the recommendations in the pop-up. Particularly the second item: any setting above 4.00 will only persist for the current log-in session. When you next log-in to Second Life, it will be reset to the Firestorm default of 2.00.

The notification displayed on log-in to Firestorm after previously setting RenderVolumeLODFactor above 4.00 (l). After logging-in, the Debug will revert to Firestorm’s default of 2.0 (r)

Object Inspector Rendering Information

The display panels for both the object inspector or the avatar attachment inspector (right-click on an object / object attached to an avatar and select Object > Inspect from the Context menu, or More > More > Inspect in the pie menu) have been updated to show additional information:

  • Faces: Number of texture faces.
  • Vertices: Number of vertices that make up the object.
  • Triangles: Number of triangles that make up the object mesh.
  • TMem: Texture memory used by the object.
  • VRAM: Video RAM used by the object.
The new information display in the Object Inspector

Inventory Updates

  • Folder sub-folder and item count: left-clicking on a folder in Inventory (any panel or tab) will now display the total number of items in the folder, and the number of sub-folders it contains in the format (items / sub-folders). So, (212/53) indicates a folder has 212 items in 53 sub-folders.
New folder item and sub-folder count display
  • Deletion Warning Notification: a warning is now displayed when attempting to delete a folder which has contents hidden (e.g. because a search filter is active).
Inventory deletion warning if trying to delete an inventory folder with some contents hidden
  • Recent Tab > Show In Main View: right-click on an item in your Recent tab and select Show In Main View” to switch to the Inventory tab with the item highlighted (FIRE-14599).
  • Inventory item count: now includes folders, as per a Linden Lab update.

Preferences Updates

  • Chat tab:
    • Chat Windows: reports of ignored conference chats in nearby chat now includes a URI link to the inviter when Automatically Ignore And Leave All Conference (Ad-Hoc) Chats and Report Ignored Conference Chats In Nearby Chat are both enabled.
    • New command Lines (via chat): /zoffset_up: Offset your avatar upward by 0.05; /zoffset_down: Offset your avatar downward by 0.05.
  • Privacy:
    • General: new option to show/hide invitations to already joined groups.
    • Log & Transcripts: Use Built-In Transcript Viewer should now be correctly disabled when unchecked.
  • User Interface:
    • 2D Overlay > Remap shortcuts: remaps short cut already used by Linux (Ctrl-Alt-Fn) to use Ctrl-Shift instead (Linux Only) – FIRE-21625.
    • Font: Celestia medium redux font added. This does not support bold or italics.
  • Move & View > View: Added option to disable visual hints when editing shape.

Other Updates of Note

  • Reset Mesh LOD (experimental): if your mesh clothing fail to render correctly after camming and hitting ESC, this should correct the problem. Avatar Context menu: Reset Mesh LOD; pie menu: Appearance > Reset > Mesh LOD.
  • Experimental fix for imposter avatar animations playing at the wrong speed.
  • Hover Height: should no longer reset on login or teleporting under certain conditions (FIRE-21489).
  • Area Search: search terms should no longer persist across instances (FIRE-21396).
  • Snapshot updates:
    • Snapshots to Twitter now supposed Twitters 280 character limit, and the snapshot no longer takes up characters (BUG-139289)
    • Vignette settings now saved as a graphics preset (FIRE-21617).
  • Grid Status: Help > Check Grid Status and Grid Status toolbar button now obeying the browser setting (FIRE-21236).
  • Animation uploads: Frame loop slider can extend past 100 frames (FIRE-21330).
  • Script Editor:
    • Numbers in the script editor now using the correct transparency (FIRE-6955)
    • script editor now actually uses Source Code Pro font
  • Broken rigging to attachment points: the debug setting FSEnableRiggingToAttachmentSpots must be set to TRUE when uploading mesh rigged to attachment points (FIRE-21000).

Please refer to the release notes for the complete set of updates, fixes and contributions.

OpenSim Updates

  • Mesh Rendering – FSEnforceStrictObjectCheck:As a rule of thumb, mesh objects should never be uploaded to OpenSim using “Analyse”. With Firestorm 5.0.11, any mesh objects which are uploaded with Analyse will likely render as invisible if the Debug FSEnforceStrictObjectCheck is set to True. To avoid this, set FSEnforceStrictObjectCheck to FALSE.
  • Gloebit currency support: see About Gloebit (FIRE-21587).
  • More OpenSim OSSL functions added to the script library – see the release notes for a full list (FIRE-21301).
  • Inventory should now load correctly on OpenSim (FIRE-21376).
  • SL Grid Status tool should not longer be active on OpenSim.


Firestorm offers a lot of food for thought around LOD and mesh, and a good read of Beq’s blogs, as linked to in the text above is recommended.

Even though this version isn’t built using the Alex Ivy code, I have – in the 48 hours I’ve been using it – noted something of an uptick in frame rates and general performance, although texture rezzing in busy regions can still be a pain (which I put down to more local problems (I did not do a clean install)  and possibly my CDN connection.

20 thoughts on “Firestorm rendering, LOD and physics

  1. This is great info, thank you for the breakdown.

    Only thing I’m noticing is that the login screen on the latest FS Viewer is a stark blank white – no ‘firestorm’ logo, no in-world population numbers – just a blank white screen.

    Everything else seems to be working great though so that’s not really a major issue.


    1. I’ve literally just had that happen to me – I suspect it might be because right now, the FS servers are getting somewhat hammered with download requests, and this could be pulling down delivery of the splash screen into.


      1. Seems to have sorted itself out after re-logging a couple times. Perhaps it was in shock after being given such a thorough going over and needed a few re-logs to get back to normal 🙂


        1. most likely its because a fresh install cleared your cache file so relogging restored any images you are used to seeing on login. it didn’t happen for me because i didn’t do a fresh install; i just installed the new fs over the old and kept my old config files..but i use linux viewer.


          1. No idea. All I can say is, I performed a “dirty” install, and things were fine up until I relogged shortly after the release went live, and at that point I had the same issue as AJ …


    1. Yup… the contribution was from Kitty :). I leave the full credits for contributions to the official release notes, as listing them in a review can made for repetitive reading 🙂 .


    1. It is. Brain fart on my part while doing a complete last-minute re-write of that section in the last 20 minutes before the release is due to be pushed out (original version was FAR too wordy). Thanks for spotting it!


  2. Is the inventory count done differently now? It was 16,890 before and now 20,886 after the new installation.


    1. Folders are included in the total items count now. This is a change also being done by Linden Lab in the next maintenance release (if it’s not happened already).


  3. In the same paragraph you highlighted about the numbers on folders Inara, you didn’t include why the count will be higher in the Inventory. I am pasting what was said on the release notes on the Firestorm blog post.
    “EDITED TO INCLUDE: The other major set of changes you’ll no doubt notice are to your inventory count. If you see it increase by a substantial amount, it’s because the count now includes folders. Previously, the displayed number of inventory items omitted the folders, which gave you an inaccurate number.”


    1. I think that may have gone into the release notes after the release went live (and so I didn’t catch it in the release notes to record the change), or was a last minutes addition which I missed in order to have the post available when the release went live, either way article note updated.


Comments are closed.