2022 week #50: CCUG and TPVD meetings summary

Power up for Charge, October 2022 – blog post
The following notes were taken from:

  • My audio recording and chat log transcript of the Content Creation User Group (CCUG) meeting held on Thursday, December 15th 2022 at 13:00 SLT.
  • My chat log transcript and video recording by Pantera Północy of the Third-Party Developer Meeting (TPVD) held on Friday, December 16th, 2022 at 13:00 SLT. My thanks to her for the video (embedded towards the end of this article).

These meetings are chaired by Vir Linden, and their dates and times can be obtained from the SL Public Calendar; also note that the following is a summary of the key topics discussed in the meetings and is not intended to be a full transcript of either meeting.

Official Viewers Status

[Video: 1:44-2:13]

Available Viewers

  • On Friday, December 16th, Linden Lab issued the Maintenance (Q)uality RC viewer, version, with several new features and various fixes.
  • On Wednesday, December 14th, the Love Me Render (LMR) 6 graphics improvements project viewer updated to version

The rest of the current crop of official viewers is as follows:

  • Release viewer: Maintenance P (Preferences, Position and Paste) RC viewer version Monday, December 12 – NEW.
  • Release channel cohorts:
    • Performance Floater / Auto-FPS RC viewer, version, November 28.
    • VS  2022 RC viewer, version, issued November 4 – utilises Visual Studio 2022 in the Windows build tool chain.
  • Project viewers:
    • Puppetry project viewer, version, December 8.
    • PBR Materials project viewer, version, December 3.
      • This viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.

CCUG Specific

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.
  • To provide support for reflection probes and cubemap reflections.
  • The overall goal is to provide as much support for the glTF 2.0 specification as possible.
  • The project viewer is available via the Alternate Viewers page, but will only work on the following regions on Aditi (the Beta grid):  Materials1; Materials Adult and Rumpus Room 1 through 4.
  • Please also see previous CCUG meeting summaries for further background on this project.
  • The focus remains on bug and regression issue fixing within the viewer and quality of life improvements.
  • There has been a discussion on revising the workflow for setting reflection probes & in providing a debug setting to make things easier to see when manipulating reflection probes.
    • This has been prompted be those testing the PBR viewer setting-up their own reflection probes incorrectly (e.g. by making the probe sphere / cube shiny prior to converting it to a reflection probe – which should NOT be done), failing to achieved the anticipated results and then filing bug reports.
    • It is possible that some of the required workflow could be factored into the UI itself to off a more intuitive sense as to how reflection probes are supposed to work.
    • An alternative to this might be to introduce a new “reflection probe” prim type, which includes all the core parameters – however the additional work and messaging required to achieve this would lead to a further lengthening of the project’s development time.
    • Tutorials to help people get to grips with reflection probes (and, I presume, PBR as a whole are “in the works”).
  • Screen Space Reflections (SSR): Geenz Linden is working on this within the PBR viewer. Whilst a checkbox for SSR has been added to the viewer, there is further work to be done on the integration and rendering sides (e.g. getting SSR to work on water & transparent surfaces).
  • Hardware profiling / optimising the viewer is still on-going (although it is likely that whatever is done, SSR will result in a noticeable performance hit if enabled).
  • [TPV Video: 9:11-10:44] The decision has yet to be made on whether or not to axe the forward rendering (i.e. non-ALM) path from the viewer.
    • This decision is awaiting more information on hardware performance on lower-spec systems using the updated deferred rendering (i.e. ALM) rendering path.
    •  It is known that Mac rendering performance on the PBR viewer is particularly bad, which may be down to a configuration issue.

In Brief

  • Mirrors (in some capacity) are described as the “very next thing” the graphics team will commence work on after the PBR / reflection probes work gets to RC status (as Vir Linden pointed out, Mirrors currently require more reflection on how they are to be implemented!).
  • The meeting in places broadened into general discussion on content breakage (and the need, where possible, to maintain the functionality of content users have purchased in expectation of its longevity; the benefits / disadvantages with morph bones versus blend shapes for customising the avatar shape (and the possible routes to an “avatar 2.0”), the need for a better animation system (or even an actual animation system), etc.
    • Much of this was more esoteric in nature at this point in time, although the likes of Puppetry is laying the foundations for broader animation work; as does the glTF 2.0 specification, which is the baseline specification for the PBR / reflections probe work, and will be expanded upon in future projects  – such as with mesh uploads.
    • In terms of animation systems, some of the groundwork is already in place inasmuch as SL already effectively treats morph bones and animated bones as individual animation tracks, offering to potential for this to ne “unwrapped” and moved to a glTF approach to animation management.
  • Some of the above conversation touched on the ideas of market renewal / fragmentation. For example: the introduction of reflection probes offers a degree of market renewal for creators of buildings, skyboxes, etc., through the provisioning of new builds (or new versions of existing builds) leveraging the capability; however, the adoption of an upload schema for fully customised avatar skeletons might lead to greater market fragmentation (how do you ensure, for example, that human animation/pose A will work equally on custom human (style) avatar skeletons W, X, Y and Z, or will they each require custom animations?).

TPVD Meeting Specific

Inventory Thumbnails

[Video: 2:25-7:08]

  • A new project (commencing in 2023) to add thumbnail previews to inventory, allowing users to see a small image of a given object within inventory (thumbnails can be individual items or, if preferred an entire folder).
  • The first phase of the work is determining how to generate the thumbnail images in the first place on a manual or (preferably) automated basis, and then ensure it maintains an association with the object to which it is related (e.g. so if an item is sold or transferred to another user, the thumbnail goes with it).
  • Once this has been decided, the next phase will be to build-out the UI so that such thumbnails can be viewed from inventory
  • It is likely that thumbnails will have a fixed / limited size resolution, and will not be subject to any upload fee.
  • This work:
    • Is not an adjunct (or related) to the Outfit previews currently available in the viewer.
    • Will not prevent creators from including high resolution images with their products if they wish.
    • Will only apply to inventory objects where it makes sense (e.g. textures and notecards would likely be excluded).
    • Is seen as a possible foundational piece to adding new fields to the inventory database, which could open the door to further information fields being added to inventory in the future,

Github Move “Phase 2”

[Video: 7:12-8:18]

  • Following the switch-over to using Github for viewer code repositories on Monday, November 21st, 2022, work is now progressing on “Phase 2”.
  • This is remaining TeamCity operations with Github Actions for viewer builds (so those pulling an official viewer repo will be able to build it directly).
  • This work will also incorporate the rebuilding of those third-party libraries involved in the viewer build process, as and where required.

In Brief

  • [Video 16:10-18:41] LL has been digging into viewer crash rates by operating system, with the note that the number of crashes on the Mac OS appears to be disproportionately high. It is hoped that if the underlying causes can be readily identified, these issues can be subjected to rapid fixing. It was not clear at the meeting if those TPVs supporting OS X are seeing a similar elevated crash rate.
  • [Video 20:40-21:35] It is estimated that the split between viewer operating systems for the official viewer  is roughly:
    • 1-2% Linux (although this does not include running the Windows viewer under emulation on Linux).
    • 6% Mac.
    • The rest: Windows.
    • Firestorm appears to mirror the above.
    • [Video: 35:08-36:10] It is possible the the work on the viewer library refresh will allow LL to look again at the issue of providing a Linux viewer build.
  • The meeting has a general discussion on operating systems, & variants (64-bit vs. 32-bit), etc, and the lack of an official Linux build,
  • A reminder that Microsoft ceases official support for Windows 8 on January 10th, 2023. This means that from that date, Windows 8 will no longer be officially supported by Second Life as a viewer operating system, and LL will not guarantee the viewer will run as expected on Win 8 going forward from that date.

Linden Lab Holiday Closure

A reminder that Linden Lab will be effectively closed (outside of Support cover) from end of business (PST) on Friday, December 23rd, 2022 through until start of business (PST) on Monday, January 2nd, 2023.

Next Meetings

  • CCUG: Thursday, January 12th, 2023.
  • TPVD: Friday, January 20th, 2023.