2022 CCUG meeting week #26 summary: materials + graphics update

The Pond, May 2022 – click any image for full size

The following notes were taken from my audio recording and chat log of the Content Creation User Group (CCUG) meeting held on Thursday, June 30th 2022 at 13:00 SLT. These meetings are chaired by Vir Linden, and their dates and times can be obtained from the SL Public Calendar.

This is a summary of the key topics discussed in the meeting and is not intended to be a full transcript.

Official Viewers Update

One Wednesday, June 29th, The Maintenance M(akgeolli) RC viewer, version 6.6.1.572458 was promoted to de facto release status.

No changes to the rest of the official viewers through until Thursday, June 30th, leaving them as:

  • Release channel cohorts:
    • Nomayo Maintenance RC (Maintenance N) viewer, version 6.6.1.572179, June 1.
  • Project viewers:
    • Performance Floater project viewer, version 6.5.4.571296, May 10.
    • Mesh Optimizer project viewer, version 6.5.2.566858, dated January 5, issued after January 10.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

Materials and PBR Work

Please also see previous CCUG meeting summaries for further background on this project.

Outline of Work

  • Work on an implementation of reflection probes which can be used both with PDR shading and with legacy content.
    • The overall aim of this work is to provide a means to support more physically accurate reflections in SL than can be currently generated (seen as a requirement for PBR support).
    • It applies to both PBR generated content, once available, and to legacy content.
  • Creating a materials type with an associated inventory asset. This  will initially comprise the ability to copy a texture entry (with its specific parameters) to inventory, to be followed by initial work to work implement a PBR graphics pipe in the viewer.
  • Normals will likely be MikkTSpace, as per the glTF specification, but work needs to be done to see if supporting this could lead to clashes with the current normal maps rendering. This does mean that current Normal maps will not work on PBR materials.
  • The initially supported capabilities are:
    • RGB albedo + transparency.
    • RGB Occlusion/Roughness/Metalness: R = occlusion, G = roughness; Blue = metalness.
    • RGB emissive.
    • RGB normal (- alpha).
    • Double-sized supported (disables backface calling before issuing the draw call).
    • Two-sided lighting (so if the back of a triangle is visible, it flips the normal around).
  • In addition:
    • There will be an ability to “preview” materials on an item within your own viewer (similar in nature to Local Textures) before actually uploading them.
    • LSL support is still being defined, but should at least allow individual texture UUIDs to be replaced under script control.
    • The approach being taken is to may the system extensible so that further capabilities / plug-ins / options can be added with relative ease in the future.
    • However, Displacement maps will not initially be supported due to not being defined in the core of glTF 2.0; nor will any extensions that are not adopted into the core glTF standard (either glTF 2.0 or 3.0).

Materials Progress

Screen Cap from a video by Runitai Linden showing (l) the basic PBR Materials UI, and right, materials assets in inventory, which can be dragged / dropped onto objects / object faces in-world (centre)
  • There is further work required on the back-end inventory services and asset store, and on some of the shaders in the viewer, before any of this work is ready for public testing on Aditi.

ALM Proposal / Work – Recap

At the #week #23 TPVD Developer Meeting (notes here), it was indicated that LL are “leaning” towards removal of the non-Advanced Lighting Model (ALM) (aka “forward rendering”) rendering path from the viewer, leaving just ALM rendering (aka deferred rendering”).

  • Were this to be done, it would only be done if it can be shown that this does not adversely impact performance (e.g. ALM runs roughly as well as non-ALM for those using the latter) on the broad cross-section of hardware most commonly operated by SL users.
  • The work will include:
    • A slider to manage the number of rendered local lights to lightening the load of rendering illumination on lower specification systems.
    • A “data saving mode” primarily intended to help those on metered connections by culling the download of additional materials / PBR maps and potentially downloading lower resolution textures mips, all of which will reduce the data passing over their connections. However, it will result in a much poorer visual experience once the PBR work has been implemented, and the hope is the mode will only be used in the minority of cases.
  • Given the ongoing work to support PBR and a more rounded set of materials, moving to deferred (ALM) rendering without fallbacks to non-ALM rendering – providing, again, the caveats noted above can be met / implemented – will in general help ensure a more reliable / consistent viewing experience across a broad range of hardware.

In Brief

  • The work to make full use of available video memory on a client computer is being put out to a hardware compatibility lab to help ensure the code changes are doing what they are supposed to be doing on a wide variety of hardware. These tests will also look at the impact of running the viewer with ALM active all the time across all hardware configurations.
  • On Animation:
    • The Puppeteering project highlighted at Grumpity and Mojo Linden’s Meet the Lindens session came in for criticism, but it was suggested people give the system a chance to reach a more advanced stage before judging, as the video presented in the talk does not do the work justice.
    • Vir indicated that while there is an understanding at the Lab that people would like the animation system overhauled:
      • Such a project currently isn’t on the roadmap
      • However, consideration is being given to allowing an on-the-fly adjustment of animation priorities.
      • Requests for additional animation work were requested via Feature Request Jira.
    • Runitai Linden suggested that as glTF supports animations it might – in the future – be a possible option for animation improvements. However, note that moving in this direction is also not part of the current roadmap.

Next Meeting

  • Thursday July 7th, 2022.

2022 SUG meetings week #26 summary

Hollybrook Regional Park, May 2022 – blog post

The following notes were taken from the Tuesday, June 28th, 2022 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 entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Server Deployments

For the latest updates and news, please refer to the simulator release thread in the forums.

  • On Tuesday, June 28th t, the SLS Main and Event channel servers were updated to simulator release 572665, containing fixes for cases where llRequest*Data would return incorrect result; also, llGetVisualParams() now accepts hand_size as a parameter.
  • On Wednesday, June 29th, the RC channel servers will be subject to a rolling restart without any simulator code deployment.

Available Official Viewers

There have been no official viewer updates at the start of the week, leaving the current crop as:

  • Release viewer: version 6.6.0.571939 – formerly the Performance Improvements viewer, dated May 25th – no change.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • Nomayo Maintenance RC (Maintenance N) viewer, version 6.6.1.572179, June 1.
    • Makgeolli Maintenance RC viewer (Maintenance M) viewer, version 6.5.6.571575, May 12.
  • Project viewers:
    • Performance Floater project viewer, version 6.5.4.571296, May 10.
    • Mesh Optimizer project viewer, version 6.5.2.566858, dated January 5, issued after January 10.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

In Brief

  • The issue of simulators that have been running for “4-5” days are ceasing to send Friends lists to those logging into them and requiring a restart to fix, continues for some. It’s not clear how widespread the issue is, but LL are aware of it.
  • Concerning the log-in / appearance issues experienced by some people on Monday, June 27th,  Rider Linden commented:
    We were updating one of the backend systems on Monday. Unfortunately it had complications. (Please see scene in Brazil re: Complications) and we had to roll it back. Among other things on the back end I think it hit the Bake Service. It should be working now and we’ll address the issue and try again at a later date with something more stable.
  • BUG-230584 – “Various Lindex data feed values are returning zero” has apparently been back in action for the last week or so, and is being investigated by the Web Team.
  • The second half of the meeting was dominated by chat and ideas around a number of ideas and feature requests, including BUG-4706, BUG-4906 and BUG-40680. Please refer to the video below for details.

2022 SUG meetings week #25 summary

B sori, May 2022 – blog post

The following summary notes were taken from the Tuesday, June 21st, 2022 Simulator User Group (SUG) meeting. It forms a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Note: little discussed, as this was the summer solstice Party.

Server Deployments

For the latest updates and news, please refer to the simulator release thread in the forums.

  • On Tuesday, June 21st, the SLS Main and Event channel servers were restarted with no deployment.
  • On Wednesday, June 22nd, the RC channels will be updated to simulator release 572665, containing fixes for cases where llRequest*Data would return incorrect result; also, llGetVisualParams() now accepts hand_size as a parameter.

Available Official Viewers

There have been no official viewer updates at the start of the week, leaving the current crop as:

  • Release viewer: version 6.6.0.571939 – formerly the Performance Improvements viewer, dated May 25th – no change.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • Nomayo Maintenance RC (Maintenance N) viewer, version 6.6.1.572179, June 1.
    • Makgeolli Maintenance RC viewer (Maintenance M) viewer, version 6.5.6.571575, May 12.
  • Project viewers:
    • Performance Floater project viewer, version 6.5.4.571296, May 10.
    • Mesh Optimizer project viewer, version 6.5.2.566858, dated January 5, issued after January 10.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

In Brief

  • The issue of simulators that have been running for “4-5” days are ceasing to send Friends lists to those logging into them and requiring a restart to fix, continues for some. It’s not clear how widespread the issue is, but LL are aware of the issue.

2022 CCUG meeting week #24 summary: Materials, ALM

Luane’s World, May 2022 – blog post

The following notes were taken from my audio recording and chat log of the Content Creation User Group (CCUG) meeting held on Thursday, June 16th 2022 at 13:00 SLT. These meetings are chaired by Vir Linden, and their dates and times can be obtained from the SL Public Calendar.

This is a summary of the key topics discussed in the meeting and is not intended to be a full transcript.

Official Viewers Update

No changes to the list of official viewer through until Thursday, June 16th, leaving them as:

  • Release viewer: version 6.6.0.571939 – formerly the Performance Improvements viewer, dated May 25th – no change.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • Nomayo Maintenance RC (Maintenance N) viewer, version 6.6.1.572179, June 1.
    • Makgeolli Maintenance RC viewer (Maintenance M) viewer, version 6.5.6.571575, May 12.
  • Project viewers:
    • Performance Floater project viewer, version 6.5.4.571296, May 10.
    • Mesh Optimizer project viewer, version 6.5.2.566858, dated January 5, issued after January 10.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

General Viewer Status

  • Bugs are still being ironed-out of the release version of the Performance Improvements viewer.
  • It is hoped the Legacy Profiles project viewer will start to move forwards once more.
  • There’s a further dedicated graphics project viewer in the wings, which may be appearing in the near future.

Materials and PBR Work

Please also see previous CCUG meeting summaries for further background on this work, with notes specific to the reflection probe work available in my week #22 and week #20 meeting summaries.

Outline of Work

  • Work on an implementation of reflection probes which can be used both with PDR shading and with legacy content.
    • The overall aim of this work is to provide a means to support more physically accurate reflections in SL than can be currently generated (seen as a requirement for PBR support).
    • It applies to both PBR generated content, once available, and to legacy content.
  • Creating a materials type with an associated inventory asset. This  will initially comprise the ability to copy a texture entry (with its specific parameters) to inventory, to be followed by initial work to work implement a PBR graphics pipe in the viewer.

Reflection Probes Progress

  • Simulator-side support for reflection probes has been on test using an experimental view and simulator-side updates available on Aditi through the DRTSIM542 channel (Materials 1, Rumpus Room, Rumpus Room 2, and Materials Adult).

Materials Progress

  • Prototype Materials editor

    Work is continuing on glTF materials import, and the hope is to have something that is functional within “the next week or two”. This uses the same unpacking mechanism as Unreal 4.

  • Materials will be uploaded with an additional editor (shown right), which will allow some manipulation and delivery the materials as an inventory item when uploaded.
  • Supported textures / capabilities:
    • RGB albedo + transparency.
    • RGB Occlusion/Roughness/Metalness: R = occlusion, G = roughness; Blue = metalness.
    • RGB emissive.
    • RGB normal (- alpha).
    • Double-sized supported (disables backface calling before issuing the draw call).
    • Two-sided lighting (so if the back of a triangle is visible, it flips the normal around).
  • Functionality not initially supported will be the ability to change the UVU wrapping Mode (so everything will sill be repeat); no ability to change the metification / magnification filter per texture;
  • The process separates the materials from the mesh, so the materials can’t know if things like tangents are present.
  • Texture will initially have to be packed by a creator’s preferred toolset; once the project gets to a state of polishing, the importer should re-pack the textures itself, unless importing from a non-glTF source, in which case self-packing will still be required.
  • Normals will likely be MikkTSpace, as per the glTF specification, but work needs to be done to see if supporting this could lead to clashes with the current normal maps rendering. This does mean that current Normal maps will not work on PBR materials.
  • Uploads will be L$10 per texture, so L$40 if all four used.
  • Brad Linden is working on getting the import into inventory working.

ALM Proposal / Work

At the #week #23 TPVD Developer Meeting (notes here), it was indicated that LL are “leaning” towards removal of the non-Advanced Lighting Model (ALM) (aka “forward rendering”) rendering path from the viewer, leaving just ALM rendering (aka deferred rendering”).

  • This was triggered as a result of a bug report which initially appeared to suggest the Performance Improvements viewer unintentionally alters the render order of object faces. While it later proved that the issue was more an edge-case in the way a piece of content had been created, efforts to try to correct it and to ensure it rendered as desired in both ALM and non-ALM rendering, raised the question as to whether it would simply be easier to remove the non-ALM path.
  • Were non-ALM rendering to be removed from the viewer, it would:
    • Only be done if it can be shown that this does not adversely impact performance (e.g. ALM runs roughly as well as non-ALM for those using the latter) on the broad cross-section of hardware most commonly operated by SL users.
    • Include a slider to manage the number of rendered local lights, as these are unlimited under ALM but can cause performance issues on low-end systems; thus a slider will help those on lower spec hardware to determine how many local lights they wish to have rendered.
    • Likely include a “data saving mode” that will prevent the download of materials for those on metered connections (to reduce the amount of data crossing their connection) and / or help those who find that materials loading can impact performance. This will have a UI warning that when employed, some objects may not look the way they are supposed to look.
  • In terms of the last point above and “data saving mode” the focus is currently on how many users would need it *if* the Lab goes forward with the idea. This will help determine how much the mode is needed and how best to approach it.
  • Given the ongoing work to support PBR and a more rounded set of materials, moving to deferred (ALM) rendering without fallbacks to non-ALM rendering – providing, again, the caveats noted above can be met / implemented – will help ensure a more reliable / consistent viewing experience.

Rigged Attachment Render Order

In terms of render order of object faces on rigged meshes, LL are considering adding a “render order number” that can be used by creators to ensure the orderly rendering of faces for transparent rigged attachments (thus allowing pre-loading of textures on “invisible” faces, etc.).

  • This would hopefully overcome issues of implicit render ordering (which may change due to other viewer dependencies), and of interpretations of the rendering order by creators that can lead to the kind of issue noted in the ALM discussion above.
  • There are complications in attempting this -e.g. render order is not per object, but per mesh, and is part of an overall schema for rigged attachments (attach order, linkset order, face index order); questions around overall outfit changes, where multiple attachments are being made, etc.
  • Providing such an approach does not break masses of existing content, it would allow creators to continue to use the implicit ordering (and risk odd behaviours should LL make changes in the future that affect the order), or use the ordering system to explicitly set the order, no matter what changes might occur down the line.
  • None of this work should impact the attachment order, but could significantly reduce the number of avatar draw calls.

Next Meeting

  • Thursday June 30th, 2022.

2022 SUG meetings week #24 summary

The Forgotten, April 2022 – click any image for full size

The following summary notes were taken from the Tuesday, June 14th, 2022 Simulator User Group (SUG) meeting. It forms a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Server Deployments

See the server deployment thread for any updates.

  • On Tuesday, June 14th, the SLS Main and Event channel servers were restarted with no deployment.
  • A new RC viewer should be available for deployment in week #25.

Available Official Viewers

There have been no official viewer updates at the start of the week, leaving the current crop as:

  • Release viewer: version 6.6.0.571939 – formerly the Performance Improvements viewer, dated May 25th – no change.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • Nomayo Maintenance RC (Maintenance N) viewer, version 6.6.1.572179, June 1.
    • Makgeolli Maintenance RC viewer (Maintenance M) viewer, version 6.5.6.571575, May 12.
  • Project viewers:
    • Performance Floater project viewer, version 6.5.4.571296, May 10.
    • Mesh Optimizer project viewer, version 6.5.2.566858, dated January 5, issued after January 10.
    • Legacy Profiles viewer, version 6.4.11.550519, dated October 26, 2020.
    • Copy / Paste viewer, version 6.3.5.533365, dated December 9, 2019.

In Brief

  • The weekend some some issues with Group chat, with the Lab making some rapid fixes. Longer-terms fixes are still a work-in-progress.
  • With the disbanding of the Governance user group, it was confirmed that question, etc., on matter of policy should be passed to Support.
  • Friends Lists:
    • Some have reported that simulator that are running for “4-5” days are ceasing to send Friends lists to those logging into them, a issue only fixable via a simulator restart. This has been noted by LL and is to be looked into.
    • BUG-232256 “No longer receiving spare calling card when adding friends” has ben noted has an issue.

2022 viewer release summaries week #23

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

Updates from the week ending Sunday, June 12th, 2022

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.0.571939 – formerly the Performance Improvements viewer, dated May 25th – No change.
  • Release channel cohorts:
    • Nomayo Maintenance RC (Maintenance N) viewer, version 6.6.1.572179, June 1.
  • Project viewers:
    • No updates.

LL Viewer Resources

Third-party Viewers

V6-style

V1-style

Mobile / Other Clients

  • MetaChat updated to version 1.2.9138 on June 4th – release notes.

Additional TPV Resources

Related Links