A simple introduction to PBR materials, reflection probes & glTF in Second Life

 My SL island home, as rendered on the PBR Materials viewer

 

Second Life is about to undergo something of a revolution in terms of the viewer’s rendering capabilities and – in the future – other capabilities as well as, after around than two year’s worth of development and testing, Linden Lab has deployed physically based rendering (PBR) into Second Life as part of an on-going project to overhaul rendering and other capabilities within the platform, with a focus on adopting as much of the Khronos® glTF™ ¹ 2.0(+) specification as can reasonably be achieved. Table of Contents

“PBR” and “glTF™” are terms which have referenced a lot in forum discussions, Lab Gab sessions, etc., but for many Second Life users it might not be entirely clear as to what it all means. I’ve therefore written this article to offer a layman’s overview of what is happening and what people can expect. I’ve intentionally tried to avoid making this a “one stop tour of everything PBR”, and to keep it as a relatively simple and (hopefully) informative introduction, with a resource list people can use to find out more.

The Terms

Khronos® Group¹

The Khronos® Group is a consortium of 170+ organisations focused on developing, publishing and maintaining open, royalty-free standards for a range of computing applications including 3D graphics, to enable software applications and middleware to effectively harness authoring and accelerated playback of dynamic media across a wide variety of platforms and devices. Some of these standards – such as COLLADA and OpenGL – are already used within Second Life (as the current file format for the import of mesh objects and the graphics API in the viewer respectively), and another Khronos® API – Vulkan – is also being considered as a replacement API for OpenGL in the viewer.

Find out more about the Khronos® Group via Wikipedia.

glTF™ ¹

Developed by the Khronos® Group, the graphics library Transmission Format, or glTF™ specification, is now regarded as the leading standard for sharing 3D and related assets (models, scenes, animations, etc,) authored in multiple tools across multiple platforms and devices in a optimised manner, minimising things like the processing overheads required to render those assets. It also enables content produced in accordance with it to be more easily shared across platforms and services by content creators.

To achieve this, the specification covers many aspects of 3D modelling and rendering, leveraging recognised rendering methodologies to manage the appearance of 3D models and assets, such as physically based rendering (PBR).

Find out more about the glTF™ specification via Wikipedia.

Physically Based Rendering (PBR) is a method of shading and rendering that provides a more accurate representation of how light interacts with material properties, with the aim of making both the environments and objects in a 3D environment appear more life-like in terms of the ambient lighting, haze, light diffusion, how surfaces respond and reflect the lighting within a scene – and in their general appearance.

Find out more about PBR via Wikipedia.

Putting the Terms into Context with Second Life

To put this all into some form of context in how it relates to the PBR Materials project within Second Life: Linden Lab has committed to gradually transitioning Second Life so it more and more adheres to the glTF™ specification.

Note: glTF™ is a core specification. Associated with it are additional features and schema referred to as extensions. Until such extensions are formally adopted into the core glTF™ specification, they are outside the scope of consideration for adoption by Second Life. 

Hang On! Second Life Already Has Materials!

A materials system was first introduced into Second Life in 2012/13 (coincidentally the time when the first implementation of PBR-like rendering was being attempted within video games). However, that system of materials handling was based on the Blinn-Phong reflection model, which has roots reaching back as far as the 1970s (Phong), although it was more directly defined to leverage OpenGL and Direct3D. The key point with Blinn-Phong is that it is based on a mix of ad-hoc assumptions and approximations of lighting and reflection, rather than anything modelled in the physical world.

As noted above, PBR is based far more on how physical world light interacts with surfaces and objects, etc., in order to provide a greater sense of depth and realism to rendered scenes. As such, PBR Materials might be said to be more integrated with the overall environment / scene, properly leveraging lighting, rather than being a capability added “on top” of the scene to provide an approximation of surface shine and reflectivity.

To help achieve this more realistic look, the Second Life PBR Materials system supports up to four texture maps: the base colour (which includes the alpha); normal map; metallic / roughness map and emissive map, each with independent scaling. Further, PBR Materials come as a bundle of textures and primitive parameters, such as face tint and specular colour which travel as a single unit and are applied all at once.

Note: I appreciate the above is a rather simple explanation, but as state at the top of this piece, I do not want this article to be overly technical. Others have already provided resources which explain the system in this regard far more capably than I ever could, so I’ll simply leave you to use the resources listed at the end of this article – such as the official PBR Materials Overview in the SL Wiki – to find out more.

Co-Existence

However, this should not be taken to mean the current materials system is now entirely obsolete and no longer useable. It remains possible to use “classic / legacy” materials (texture (diffuse), normal and specular) if required; steps have been taken to ensure that as far as possible, these will render reasonably well via the PBR shaders – but there will be some discernible differences that pop up.

How big / noticeable these differences might be is down to how the “classic / legacy” materials have  /are been / being used (e.g. have they ever been exposed to local lighting with SL?). Therefore, users should anticipate objects using the older materials system potentially looking “different” when viewed on a PBR-enabled viewer, but outside of some edge-cases, not excessively so.

Bringing PBR to Second Life means updating the basic calculations of how light is represented and interacts with the world of Second Life. The goal is to integrate these changes while minimally changing how everything that presently exists in Second Life that was designed prior to the introduction of PBR. While the preservation of creative intent and the aesthetic appeal of items users have enjoyed for over two decades of Second Life is always a priority, Second Life is an ever-evolving platform, and to continue to do so, some changes are inevitable.

– PBR Materials Overview in the SL Wiki

The lamp in this screenshot uses “classic / legacy” SL Materials and was created before PBR’s integration into SL. Here it demonstrates some of the visual differences to existing content. The environment used for the screenshot is the viewer’s default Midday preset (Note that the PBR viewer has a new Midday preset). Credit: Jenna Huntsman, via Linden Lab

Some of the Visible Changes Users Can Expect

Some of the updates to the Second Life Build / Edit floater to support PBR Materials

Note: PBR Materials require the use of a PBR-Materials enabled viewer. It may take time for the code to be implemented on all third-party viewers.

The introduction of PBR Materials has required a large-scale overhaul of the viewer’s rendering pipeline (and numerous back-end updates which fall outside the scope of this article). Some of the more visible changes users can expect to see include:

  • More realistic and immersive reflections (related: see Reflection Probes, below).
  • More natural ambient lighting within scenes, including a new Midday sky preset).
  • The use of high-dynamic range (HDR) rendering and tone-mapping, which should result in colours in Second Life generally appearing more saturated, with less detail being lost in shadows and highlights.
  • Updates to the viewer’s Graphics Preferences, comprising:
    • The removal of:
      • Hardware settings – Texture Memory slider, Fog distance Ratio slider and Gamma slider.
      • Shaders – Bump Mapping and Shiny, Local Lights, Terrain Detail slider, Avatar Cloth, Water Reflections drop-down, Atmospheric Shaders and Advanced Lighting Model.
    • The repositioning of:
      • The Sky detail slider.
      • The Shadows drop-down options.
      • Ambient Occlusion (renamed: Screen Space Ambient Occlusion).
    • The introduction of:
      • Enable / disable Screen Space Reflections.
      • Drop-downs to set Reflection Detail and Reflection Coverage.
      • Exposure slider.
    • Updates to the viewer’s Build Edit floater:
      • Ability to switch between “classic / legacy” materials (still referred to as “Textures”) and PBR Materials (referred to as “PBR Metallic Roughness”).
      • Options to copy attributes (colour tint, transparency, glow, materials) between editable objects / object faces.

Of the above, the removal of the Advanced Lighting Model checkbox might be viewed with alarm, given its (not always correctly) linked to viewer performance.  However, given the amount of work already completed in viewer rendering performance under the Graphics Improvements project, the loss of this option and the ability to disable atmospheric shaders should have a minimal impact for most users.

That said, for those who are on particularly low-end hardware and have relied on these options to help boost the viewer’s performance on their hardware, please refer to this section of the PBR Materials documentation for guidance on adjusting settings within PBR-enabled viewers.

Capabilities for Content Creators / Modifiers

Note that this is not an exhaustive list, but a simple-to-grasp summary.

  • Ability to use tools with PBR workflows without sacrificing visual quality on import.
  • A new Build → Upload option for uploading Materials to Second Life.
  • Generate new Materials assets which can be sold to other users in-world / via the Marketplace and otherwise exchangeable in accordance with their defined permissions, just like any other texture in Second Life.
  • Drag and drop Materials asset from inventory and onto an object face.
  • Perform limited editing on PBR Materials (again in accordance with their specified permissions).

As I am in no way qualified as a content creator, I will leave it to Boston Blaisdale to present an introductory course on creating, uploading, applying and editing PBR Materials, courtesy of the Second Life University.

Reflection Probes

As noted in the above video, a key component within the PBR Materials capability is the idea of a new Second Life volume type called a reflection probe.

  • “Automatic” reflection probes are located within regions and cannot be moved or edited; they are intended to provide a “default” or “ambient” reflection solution.
  • Reflection probes can also be created manually, when they are intended to be used in interior spaces such as rooms, homes, etc., or where a specific style / use of reflections is required. They are used to calculate and present reflections based on proximity to them, the local lighting, etc., and will override the default (/ambient) solution (e.g. so an object will not reflect things like the sky outside of a building).
  • Manually-created reflection probes are defined using a new set of parameters found within the Features tab of the Build / Edit floater.
  • However, Reflection Probes can be resource-intensive, and so should be used sparingly and efficiently, and should not:
    • Be used to try to create (planar) mirrors in Second Life – there is a follow-on “Mirrors” project which will enable real-time mirrors in SL within define parameters.
    • Be attached to small creations such as furniture or décor – these should use the reflection prob(s) within the space in which they reside.
    • Be worn on an avatar or attached to a physics-enabled object (e.g. a vehicle). By design, and given that reflection probes are intended to be part of a scene, doing so will render the probe inoperative.

Known and Possible Issues

There are some issues and bugs within the PBR code, with two of the most significant perhaps being:

  • A “slim minority” of users with very, very large inventories and Friends lists may find some objects in a scene do not render when logging-in. Currently, the steps for correcting this are to a) re-log, and if that fails to resolve the problem, b) clear cache.
  • Some users on Macbooks and / or Apple Silicon systems may experience poor performance on the PBR viewer.
  • When seen on a non-PBR enabled viewer, objects and avatars may have a blue tinge reflecting off of them. This is a result of the viewer not having the required shaders within the rendering pipe to manage the ambient lighting.

These, and remaining bugs within the system will be dealt with in upcoming maintenance updates to the viewer. Those finding issues with PBR Materials are asked to test on the official viewer, and if necessary raise a bug report.

Looking to the Future

The release of PBR Materials is not the end of the glTF™ project, but rather the first deployment of glTF™-based capabilities. In the coming months the Lab hopes to be able to deliver:

    • Real-time mirrors: providing the means to have mirrors within scenes reflect their immediate surroundings.
      • These will leverage a “hero” reflection probe concept (512×512 resolution), with one such probe per scene being active for any given avatar, based on the avatar / camera distance from the mirror.
      • Work on this is already in progress, and a project viewer for the capability is expected to be available in the very near future.
    • PBR terrain: providing the means to apply glTF™ materials to terrain as a viewer-side effect to improve the appearance of the SL terrain.
      • Again, s project to deliver this work is already in progress, and a project viewer supporting the capability will hopefully be available in the near future.
      • Please note: this is not support for PBR terrain painting.
Materials applied to Second Life terrains. Credit: Linden Lab

glTF™ Scene Import

It is hoped that alongside of the above mirrors / terrain work, and allowing for maintenance releases to the PBR Materials deployment, work will soon commence on developing the capability for Second Life to support glTF™ mesh and scene import.

  • There is no time frame as to when this will be available for testing or when it might be deployed.
  • The first steps will likely be the development of a prototype import mechanism.
  • Once the prototype is available, the Lab will then likely proceed as with the PBR Materials project, invite content creators to engage in the project, provide input / feedback, and then develop the capability on an iterative cycle utilising that input / feedback.

Resources and Further Links

Footnotes
  1. Khronos® and the Khronos® Group logo and glTF™ and the glTF™ logo are registered trademarks of the Khronos® Group Inc.

2023 SL viewer release summaries week #47

Logos representative only and should not be seen as an endorsement / preference / recommendation

Updates from the week through to Sunday, November 26th, 2023

This summary is generally published every Monday, and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:

  • It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog.
  • By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.
  • Note that for purposes of length, TPV test viewers, preview / beta viewers / nightly builds are generally not recorded in these summaries.

Official LL Viewers

  • Release viewer version 6.6.16.6566955269, formerly the Github Actions (GHA) RC viewer, version , issued October 20, promoted October 25 – No Change.
  • Release channel cohorts:
    • Maintenance X RC, version 6.6.17.6935636398, issued November 21 – usability improvements.
    • Maintenance Y, version 6.6.17.6935642049, issued November 21 – My Outfits folder improvements; ability to remove entries from landmark history.
    • Maintenance-W RC viewer, version 6.6.17.6935629493, November 21.
    • Maintenance V(ersatility) RC viewer, version 6.6.17.6898288582, November 20
  • Project viewers:
    • No updates.

LL Viewer Resources

Third-party Viewers

V6-style

  • No updates.

V1-style

  • Cool VL viewer updated to version 1.30.2.38 (Stable) and version 1.31.0.16 (Experimental) on November 25 – release notes.

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

2023 SL SUG meetings week #47 summary

Spark Project: Olympus, September 2023 – blog post

The following notes were taken from the Tuesday, November 21st Simulator User Group (SUG) meeting. They form a summary of the items discussed, and is not intended to be a full transcript. A video of the meeting is embedded at the end of this summary, my thanks as always to Pantera for recording the meeting and providing it.

Apologies for the lateness of this summary, RL is not playing nice at the moment.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • These meetings are conducted (as a rule):
  • They are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
  • Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.

Simulator Deployments

  • No scheduled deployments for the week, due to this being Thanksgiving week in the US, and so a No Change window is in force. Simhosts are being restarted, however.

Upcoming Simulator Deployments

  • The simulator support for glTF PBR Materials is expected to be deployed to the SLS Main channel on Tuesday, November 28th, making it grid-wide. Promotion of the glTF viewer is liable to occur in that week as well.
  • The “Fall Colours” maintenance update will likely go to RC on Wednesday, December 6th, so it can be grid-wide by Christmas. This update will not include Leviathan Linden’s work on game controller support.
  • The game controller work will now likely be included in the simulator update to follow “Fall Colours”, and which has been code-named “Gingerbread”. This will most likely be deployed in the first working week of January 2024, and will likely included the recent Feature Request to increase the available sensor counts (see: BUG-234648).

Viewer Updates

Four viewer updates at the start of the week:

  • Maintenance X RC (usability improvements), updated to version 6855926535, November 21.
  • Maintenance Y RC (My Outfits folder improvements; ability to remove entries from Landmark history), updated to version 6.6.17.6935642049, November 21.
  • Maintenance-W RC viewer, version 6.6.17.6935636398, November 21.
  • Maintenance V(ersatility) RC viewer, updated to version 6.6.17.6898288582, November 20.

Other viewers in the pipe remain as:

  • Release viewer: Github Actions (GHA) RC viewer, version 6.6.16.6566955269, issued October 20 (with major CEF update and number version numbering) and promoted on October 25.
  • Release channel cohorts:
  • Project viewers:

Game Controllers

  • Note the changes to code deployment changes outlined above. The work was pulled from “Fall Colours” to allow for further internal review of the code by the Lab.
  • Because of the need for further review, the code is not currently available on Aditi (the Beta grid). It is hoped the code will be re-deployed to some regions on Aditi in the week after US Thanksgiving.
  • It was noted by Signal Linden that it would be nice to have an official project viewer available when the code starts being deployed to the Main grid.

In Brief

  • Region Crossings:
    • Monty Linden is continuing to work on the updates for physical and TP region crossings, but was not available to respond to questions at this meeting.
    • However, it was suggested that, subject to his input, the update to the simulator code handling income teleports / regions crossings to a region might form a part of the “Gingerbread” simulator update.
  • A discussion on support for expanding regex support with Linkset Data keys to support case insensitive searches (see : BUG-233678) and for case insensitive regex support in general. This is being actively pondered upon within the Lab.
  • A further discussion on sensors and their potential uses, which also touched on the need for an “official” Area Search capability.
  • Please refer to the video for these, and other sundry mentions / discussions.

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2023 SL viewer release summaries week #46

Logos representative only and should not be seen as an endorsement / preference / recommendation

Updates from the week through to Sunday, November 19th, 2023

This summary is generally published every Monday, and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:

  • It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog.
  • By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information.
  • Note that for purposes of length, TPV test viewers, preview / beta viewers / nightly builds are generally not recorded in these summaries.

Official LL Viewers

  • Release viewer version 6.6.16.6566955269, formerly the Github Actions (GHA) RC viewer, version , issued October 20, promoted October 25 – No Change.
  • Release channel cohorts:
    • glTF / PBR Materials viewer, version 7.0.1.6894459864, November 17.
    • Maintenance X RC, version 6855926535, issued November 14 – usability improvements.
    • Maintenance Y, version 6.6.17.6855930358, issued November 14 – My Outfits folder improvements; ability to remove entries from landmark history.
  • Project viewers:
    • No updates.

LL Viewer Resources

Third-party Viewers

V6-style

  • No updates.

V1-style

  • Cool VL viewer updated to version 1.30.2.35 (Stable) and version 1.31.0.15 (Experimental) on November 11 – release notes.

Mobile / Other Clients

  • No updates.

Additional TPV Resources

Related Links

2023 week #46: SL CCUG meeting summary: PBR status & current release plan

Le’eaf Forest Retreat, September 2023 – blog post

The following notes were taken from my audio recording and chat log transcript of the Content Creators User Group (CCUG) meeting held on Thursday, November 16th, 2023.

  • The CCUG meeting is for discussion of work related to content creation in Second Life, including current and upcoming LL projects, and encompasses requests or comments from the community, together with viewer development work.
  • As a rule, these meetings are:
    • Held in-world and chaired by Vir Linden, in accordance with the dates and times given in the the SL Public Calendar, which also includes the location for the meetings.
    • Conducted in a mix of voice and text..
    • Open to all with an interest in content creation.
  • The notes herein are a summary of topics discussed and are not intended to be a full transcript.

Official Viewers Status

No updates for the latter part of the week, with the current crop of official viewers being:

  • Github Actions (GHA) RC viewer, version 6.6.16.6566955269, issued October 20 (with major CEF update and number version numbering) and promoted on October 25.
  • Release channel cohorts:
    • Maintenance X RC, version 6855926535, issued November 14 – usability improvements.
    • Maintenance Y, version 6.6.17.6855930358, issued November 14 – My Outfits folder improvements; ability to remove entries from landmark history.
    • glTF / PBR Materials viewer, version 7.0.1.6750600769, November 11.
    • Maintenance-W RC viewer, version 6.6.17.6709258523, November 9.
    • Maintenance V(ersatility) RC viewer, version 6.6.16.582201, October 16.
    • Emoji RC viewer, version 6.6.15.581551, August 31.
  • Project viewers:

General Notes

  • The PBR viewer now appears to be the no 1 on the runway for promotion to release status – see the notes below for more.
  • The next viewer LL is hoping to promote after PBR is the Emoji RC viewer.
  • As there are now four Maintenance RC viewer in the pipeline (V, W, X, and Y), it is likely some of them will be merged together to reduce the load on the release schedule.

glTF Materials and Reflection Probes

Project Summary

  • To provide support for PBR materials using the core glTF 2.0 specification Section 3.9 and using mikkTSpace tangents, including the ability to have PBR Materials assets which can be applied to surfaces and also traded / sold.
  • The overall goal for glTF as a whole is to provide as much support for the glTF 2.0 specification as possible.
  • Up to four texture maps are supported for PBR Materials: the base colour (which includes the alpha); normal; metallic / roughness; and emissive, each with independent scaling.
  • In the near-term, glTF materials assets are materials scenes that don’t have any nodes / geometry, they only have the materials array, and there is only one material in that array.
  • As a part of this work, PBR Materials will see the introduction of reflection probes which can be used to generate reflections (via cubemaps) on in-world surfaces. These will be a mix of automatically-place and manually place probes (with the ability to move either).
  • The viewer is available via the Alternate Viewers page.

Further Resources

Grid-Wide Deployment and Viewer Release

  • Following a meeting this week, the current plan from the Lab is to deploy PBR Materials grid-wide on the simhosts during the first week after US Thanksgiving (so week commencing Monday, November 27th, 2023).
  • Currently, all RC simhost have been updated to the PBR simulator code which leaves only the SLS Main channel to go.
  • The plan is also to promote the PBR RC viewer to de facto release status that same week.
  • Note that these plans are subject to late-breaking issues or other requirements not getting in the way of things.

Recent Work

  • Fixes are progress for what are seen as to remaining notable issues:
    • One to correct the issue with normal maps uploaded via the glTF uploader always coming out square post-upload  and with lossy compression.
    • One to correct the issue of not being able to revert an Alpha mode from blend or mask to opaque without having to save the material back to inventory after making the change in order for it to apply properly.
  • There are some additional bugs within the system, some of which do have fixes in the works, but these aren’t seen as having significant impact, and will be subject to release with the first maintenance update to PBR Materials.
  • That said, there some issues which have been identified, but will not be addressed until the first PBR maintenance viewer is issued. These include:
    • A “slim minority” of users with very, very large inventories and Friends lists may find some objects in a scene do not render when logging-in. Currently, the steps for correcting this are to a) re-log, and if that fails to resolve the problem, b) clear cache.
    • Some users on Macbooks and / or Apple Silicon systems may experience poor performance on the PBR viewer.
  • For those interested – this is the list of currently open issues for PBR.

General PBR Discussion

  • BUG-234235 “[PBR] alpha blend on water is acting a bit like invisiprim” – this is being worked on, and is seen as somewhat related to another change under consideration: environmental haze.
    • Currently, local lights are not affected by environmental haze. Runitai Linden is working on a change that will make local lights responsive to haze (e.g. if you are in a foggy environment, lights at an increasing distance from your camera position will appear fainter and fainter due to the influence of the fog).
    • This work will likely be surfaced in the first PBR viewer maintenance release.
    • The reason this is related to BUG-234235 is that it will also require an adjustment to water haze as well, and this should resolve the issue reported in the bug (haze will essentially get its own render pass, with a single shader being used for both atmospheric and water haze, rather than them requiring separate render passes).
  • Future work on glTF will allow for more greater control of lighting sources, such as lamps, etc., and provide for luminosity to be defined in terms such as lumens. However, this work will depend on glTF scene import, which will be worked on in the next tranche of work, together with HDRI import / export (which is not as yet on the glTF implementation roadmap).
  • A Materials folder is to be added to the system library and available through the Library section of inventory.

In Brief

  • A Feature Request has been filed to allow system-generated sounds to be overridden by Experiences to provide more immersive sounds (e.g. on entering a door and being teleported, the sound heard might be the creaking of the door opening, rather than the ding-sing-whoosh of the default teleport sound – which can only currently be disabled on a per viewer basis by the user). See (and Watch) BUG-234682 “Override UI sounds within the scope of experience keys” for more.

Next Meeting

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a gathering of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2023 SL SUG meetings week #46 summary

 Triple Sweet Café, September 2023 – blog post

The following notes were taken from the Tuesday, November 14th Simulator User Group (SUG) meeting. They form a summary of the items discussed, and is not intended to be a full transcript. A video of the meeting is embedded at the end of this summary, my thanks as always to Pantera for recording the meeting and providing it.

Apologies for the lateness of this summary, RL is not playing nice at the moment.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • These meetings are conducted (as a rule):
  • They are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
  • Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.

Server Deployments

  • No deployments for SLS Main channel, but the simhosts were restarted.
  • Wednesday, November 15th should have seen the deployment of the PBR Material simulator support to all RC channels.
    • Please remember: if you have anything that uses PBR materials and you rez that object (or wear it) on a non-PBR simulator,  the PBR Materials will be stripped from the object and forgotten.
  • There are currently internal discussions on whether or not to deploy the simulator support for PBR before or after US Thanksgiving.

Viewer Updates

Two new Maintenance viewers were issued on Tuesday, November 14th:

  • Maintenance X, version 6855926535, comprising viewer usability improvements.
  • Maintenance Y, version 6.6.17.6855930358, comprising improvements to the My Outfits folder (display thumbnails on hover) and to remove entries from landmark history

The rest of the official remain unchanged at the start of the week:

  • Github Actions (GHA) RC viewer, version 6.6.16.6566955269, issued October 20 (with major CEF update and number version numbering) and promoted on October 25.
  • Release channel cohorts:
  • Project viewers:

Game Controllers

  • The simulator code for the game controller support is now in the “Fall Colours” simulator RC update, which is currently scheduled as the first simulator RC deployment in December.
  • The viewer code needs further work, including:  keyboard mapping to controller input channels; the ability to set the dead zone of various axes; support for “less common” controllers; additional UI to work alongside existing support options (e.g. SpaceNavigator).
    • In terms of the SpaceNavigator, the project will not include an update to support the latest 3dconnexion drivers, as it is felt this will break expected behaviour for the SpaceNav mouse in SL – the aim is to continue to support SpaceNav as is.
  • This work does not, as yet, include the ability to control avatar motion, although there was additional discussion around this.
  • Expansions to inputs have been filed in Feature Request BUG-234678.
  • There was also significant discussion on game controller / LSL interactions.
  • When available via the Alternate Viewers pages, the viewer will has a MacOS build as well. Meanwhile, documentation on the game controller work can be found on the SL wiki, and this includes Github link for downloading a pre-release version of the Windows viewer.

SL Combat

  • A further general discussion on updating SL’s support for combat gaming, most of which has been covered in recent SUG summaries here (e.g. adjusting the avatar bounding box and hit box when crouching  / seating (so the form allows for crawling under object, for example, and the latter makes for a small target).
  • Camera control options:
    • A new request was for a native means to set the camera to follow remote objects (e.g. RC vehicles) rather than having to relay on “janky” scripts to achieve the capability.
    • There were also requests for offsetting mouselook view (see VWR-28745 for an example of such a request).
    • Rider suggested updates to the camera control mechanism and positioning might be better suited to an update to scripted camera capabilities he is considering (but not anywhere close to being in a position to discuss in terms of what might / can / cannot be done).

In Brief

  • A lot of requests for updates to SL terrain, including updating the textures and improving the resolution (which should hopefully be covered by the PBR terrain support Cosmic Linden is developing, which should also reduce texture stretching as the heightmap is morphed); full terrain painting (not currently on the books); a general smoothing terrain deformations to make movement, etc., smoother.
  • Region Crossing: following the most recent pile-on tests, Monty Linden is working on some updated code, which he is trying to get onto Aditi (the Beta grid) on server channel DRTSIM-565, however there is a bug he needs to hammer on first.
  • Monty is also working on “an EventQueueGet thing”, which he hopes to get on to Aditi on DRTSIM-577.
  • Further requests for a means of masking Linden Water from the interiors of object – see BUG-227965 as a reference for this.
  • There was a request to be able to adjust the centre of mass for a linkset (e.g. a vehicle). While this can be done to some degree via prim cutting, it is not so possible with mesh; how it would be handled is unclear, but Leviathan Linden indicated he would kick some ideas around.
  • somewhat/ sort-of related to the above, a Feature Request has been filed to allow control of where a vehicle rotates from without having to do prim hackery – see BUG-234649, an update to SVC-6619). It was noted this could be useful for objects other than vehicles alone.

† The header images included in these summaries are not intended to represent anything discussed at the meetings; they are simply here to avoid a repeated image of a rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.