2022 CCUG + TPVD meetings week #16 summary (PBR)

Seagull Rock, March 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, April 21st 2022 at 13:00 SLT.
  • The video recording by Pantera (embedded at the end of this piece, my thanks to her as always for recording the meetings) from the Third-Party Viewer Developer (TPVD) meeting on Friday, April 22nd, 2022 at 13:00  SLT.

These meetings are chaired by Vir Linden, and their respective dates and times can be obtained from the SL Public Calendar.

This is a summary of the key topics discussed in each meeting and is not intended to be a full transcript of either. However, the video does provide a complete recording of the TPVD meeting, and timestamps to the relevant points within it are included in the notes below.

Available Viewers

[Video: 0:22-2:00 + notes from CCUG meeting]

The list below reflects the rest of the currently available official Second Life viewers:

  • Release viewer: version version 6.5.4.570575 – formerly the Lao-Lao Maintenance RC viewer, promoted Monday, April 18.
  • Release channel cohorts:
    • Performance Improvements RC viewer version 6.6.0.570163, dated April 4, issued April 14(?).
    • MFA RC viewer, update to version 6.5.4.569725, on March 24.
  • Project viewers:
    • Performance Floater project viewer, version 6.5.4.569531, March 18.
    • 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 Notes

  • The focus remains on fixing the bugs reported on the Performance Improvements RC viewer so that it can be the next viewer promoted to de facto release status. The RC version has been updated but has yet to be issued.
  • The promotion of the Lao-Lao viewer to release status means the current RC viewers are going through the merge with that codebase, and a new Maintenance RC should be appearing soon.
  • The Copy / Paste project viewer has been languishing in project viewer hell for some time whilst the focus on viewer work has been elsewhere. It is hoped that this well move forward once more Soon™.
  • [Video 6:26-7:35] Additional work is being carried out on the Legacy Profiles viewer (such as allowing the avatar UUID to be accessed via scripts by the likes of greeters that display the avatar image, etc.).

CCUG: Additional Materials Support / PBR: Hitting the RESET Button – CCUG Meeting

This formed the core of the CCUG meeting. The notes below should also be referenced with my notes from the previous CCUG meeting.

  • As previously noted LL had proposed a two-step approach towards moved to “full” Physically Based Rendering (PBR) materials support to give a high fidelity to SL rendering where PBR materials are used.
  • Significant concerns were raised about this approach at the last two meetings (e.g. a lot of creators do not use PBR-based workflows – a requirement for glTF – and so moving in this direction could create extensive issues for those creators).
  • As a result of the feedback, discussions at the Lab have been focused on an alternate approach:
    • Creation of a materials inventory type with an associated asset which could potentially have different forms (e.g. in one state it could be associated with PBR, another simply specify the legacy texture / materials parameters)
      • Where the PBR materials are specified, render using a  new “PBR render path”; if the legacy parameters are used, render via the existing render path.
    • Move directly to a PBR implementation.
    • This would initially be limited to the materials aspect of glTF and not support any geometry for objects that can also be held by a glTF file (so no uploading for uploading complete mesh objects as glTF) – which is not to stay upload support for other formats wouldn’t be added at some point in the undefined future).
  • However – the above bullet points are all still under discussion at the Lab, so no final decision on the overall approach has been made.
    • It has also been noted that whatever happens, a significant requirement will be to provide specifications on which materials types are going to be supported, and what people can expect.
    • It is hoped that at least some of the Lab’s approach can built off of existing specifications rather than reinventing the wheel, then extended into those “optional” materials should be supported.

Cube Maps / Reflection Model

  • A concern was raised that current cube mapping used by SL is limited, and would need to be updated to a higher resolution for PBR support to be effective.
    • LL are aware of the limitations of the current cube map and would be “looking to address that” – although indicated this may not be done for the initial release of any related work.
    • This led to concerns that any release of PBR materials support without any corresponding update to SL’s cube mapping will result in creators attempting to implement their own workarounds to perceived limitations, resulting in content at odds with any cube mapping updates the Lab does make.
    • This latter point wasn’t seen as a problem, as LL’s view is that any updates to SL’s cube map will only be relevant to content created after the update, and it was further suggested that any “initial” updates to support PBR (and sans cube maps updates, environment maps, etc., might not even be user-facing, but purely for internal use / testing.
  • A similar concern was raised over the current reflection model + environment maps – that if not considered / managed as a part of the PBR project, it will lead to very poor results or limit the use of PDR materials.
    • Again, LL’s view is that reflection map / probes / environment maps re something that will be tackled “later”; some creators are of the opinion that it needs to be tackled as a core element of the work.
    • LL suggested that they might offer support of static environment maps initially, and then move towards the ability to cast reflection probes to allow reflections to be dynamically generated. However, all of this is still being discussed internally at the Lab.
  • It was also pointed out that lighting / reflections in PBR are calculated on physical properties (e.g. lumen equivalency) – which currently isn’t possible in SL without significant update to the rendering system. This was again seen as something that could be handled “later”.
  • Concerns were also voiced over the idea of things being set aside for “later” on the basis that LL has a long track record of breaking projects down into “iterative phases” – only to deliver the first one or two, and then push further work off into the future for assorted reasons (Examples:. the original materials project, Animesh, Experience Keys, EEP, the in-world aspect of ARCTan (allowing for the fact ARCTan as a whole seems to have become stuck)), with the results they become “someday / never”.

General Questions

  • Will the addition of broader materials support with PBR lead to alterations to the land impact formula?
    • Potentially for content using PBR, but this has yet to be fully determined. The feeling among creators is that a re-balancing of the LI formula would be required.
    • However, LI calculations themselves are in need of overhaul to more accurately reflect the cost of rendering objects (something the Lab has planned to do as “phase 2” of adjusting rendering calculations as a whole under project ARCTan, so while not intrinsic to PBR, LI / rendering costs might be reviewed as an adjunct to this work.
  • Will this lead to an increase in region land capacities? No.
  • Will it apply to all new content, post implementation? Yes, with the exception of system avatars and content requiring the the Bake Service.
  • Will this approach allow scripted update / changes to materials on faces? That is something that will likely have to be “tackled latter”.
  • Will this mean further updates to the uploader? most likely, yes.

TPVD: Off-line Friendship / Group Offers + Simulator Capabilities

[Video: 3:22-6:14]

  • Monty Linden has been working to fix issues of off-line friendship and Group invitation offers failing.
  • This has required a complete overhaul of the related capabilities for handling such offers, with the focus being primarily on getting them working again. Although “at some future time” the functionality might be revisited to do “something bolder and more interesting with it.”
  • This work is going to QA, and will be moving to Aditi (DRTSIM-537) for further testing.
  • At the same time, Monty has also be updating the Simulator Capabilities wiki page
    • The focus had been on making sure the list of capabilities in up-to-date.
    • Work will now be going forward to update / provide the underpinning documentation for all the capabilities. This will be done on an as time permits basis.

TPV In Brief

  • [Video 7:38-26:00] Extensive discussion on updating / refactoring the viewer code, updating the viewer build process, LL’s thinking on moving to more recent graphics APIs (e.g. Vulkan) and the problems involved,
    • Some of this has been covered previously in these summaries (e.g. options for future graphics APIs, the number of users running systems unable to run Vulcan, etc).
    • Much of the discussion is well into the long grass of viewer code, etc., and thus you are referred to the video.
  • [Video: 26:25-37:10] Accessibility options (close captions for when Voice is being used; text to speech, etc).
    • Accessibility is something that is looked at during general UI design work, but there is no project looking at specific questions of accessibility. However, it is recognised that perhaps a more formalised approach to handling accessibility should be adopted.
    • The issue of allowing Voice to be set so that all speakers can be heard equally irrespective of distance from the listener (as once supported by several TPVS, see: BUG-23172) is apparently difficult to implement in the current Vivox implementation and so has been subject to discussions between LL and Vivox.
    • The question was asked if TPVs felt effort should be pushed into a significant Vivox update.
      • A suggested response was given that any attempt to update to Vivox 5 would require a “wholesale change” to the Voice service, LL might be better looking at alternative offerings that offer better means of support.
      • Based on feedback from the meeting, Mojo suggested the keenness for LL to focus on  large Voice related project isn’t there.
  • [Video: 37:43-43:05] Pathfinding:
    • It was suggested that Pathfinding could be improved if the options in the viewer were all moved to a single tab on the Build / Edit floater. LL agreed this would be beneficial and requested a Jira on the idea.
    • LL more broadly noted that Pathfinding could benefit from a re-visit / update, although there are no current plans for any work. Some ideas for potential work have been submitted via BUG-229442. This in turn leads to a broader discussion on some of the additional issues with Pathfinding (lack of cohesive documentation, complexity of use, lack of automatic region rebakes, etc.).
  • [Video: 43:05-46:49] The above flows into a discussion on custom pivot points, some that was being worked on by LL but has been on the shelf of late, and the complexities involved.
  • [Video: 48:15-60:00] A general discussion on land impact calculations and making them more reflective of the cost of rendering (particularly textures, etc.).
    • This touches upon the ARCTan project, which was originally initiated to overall the formulas used to calculate both avatar complexity and the complexity of in-world objects – the latter of which may have led to adjustment in LI calculations, although ARCTan went on to initially focus on avatar complexity prior to being suspended altogether.
    • Folded into this is further discussion of alternate methods of calculating LI (e.g. through object geometry – although this doesn’t necessarily account for draw calls, which tend to be a big hit for the viewer), and ideas for encouraging best practices / finding a balance between control and offering the ability to create and upload.
  • There is further informal discussion after the meeting has ended. Please refer to the video if interested.