2022 week #35: CCUG + TPVD meetings summary

WillowWood, July 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, September 1st 2022 at 13:00 SLT.
  • My notes and the video from the Third-Party Viewer Developer (TPVD) meeting held on Friday, September 2nd, 2002 at 13:00 SLT. The video is provided by Pantera – my thanks to her for recording it, and can be found at the end of this article. Times stamps to the video are included where relevant in the following notes.

Both 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 Status

[TPVD video: 1:00-2:20]

  • Release viewer: version – formerly the Profiles RC viewer, dated August 18, promoted August 30.
  • Release channel cohorts:
    • Izarra Maintenance RC, version, September 1.
    • Maintenance 3 RC viewer, version, September 1.
    • Maintenance P (Preferences, Position and Paste) RC viewer version issued August 15.
  • Project viewers:
    • Puppetry project viewer, version,  issued on August 30.
    • Love Me Render (LMR) 6 graphics improvements project viewer, July 21.
    • Performance Floater project viewer, version, May 10.

General Viewer Notes

  • LL are likely going to be updating the Windows viewer build tools to use Visual Studio 2022.
  • This will likely be ahead of the move to use Github as the main viewer repositories, as outlined at the previous TPV Developer meeting.

Materials and PBR Work

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

  • Overall, the work on the viewer side of things – rendering in support of glTF 2.0 standards (and consistency of results when going from a tool like Substance Painter trough the uploader to displaying in SL)  is now “near complete”.
  • It  is hoped that it will “not be long” now before a project viewer is more generally available, although there is still additional back-end work to be completed, together with adding support for things like transparency support, ensuring PDR rendering works under linden Water, and similar.
  • Again, the focus of this work for the first pass is “core” glTF 2,0 support.
    • Ratified (under ISO) extensions may be up for inclusion in future enhancements to the capability.
    • Non-ratified extensions will not be up for inclusion in future updates.
  • In order for to be compliant with glTF, tangents are going to have to be generated in mikkTSpace, where normal maps are applied. This means that existing normal maps within Second Life / normal maps generated without using MikkTSpace may not look correct when rendered via the PBR pipe.
  • [TPVD video: 28:41-30:55]:
    • Runitai Linden noted that this project has been a valuable experiment in real-time collaboration between the LL dev and members of the community through the Discord server.
    • He expressed thanks to the TPV developers and the creators who have assisted the graphic team both in the development of the PBR rendering path and in helping with the reflections probe development, both in terms of code contributions and in helping to identify and address edge-case issues.
    • He further noted It  is hoped more projects might by run this way.

Textures: Handling

[TPVD video: 5:19-10:22]

  • Also pulled into this work are improvements to the texture handling (previously DRTVWR-559), This involves  better core utilisation and VRAM usage.
  • For Windows, this work includes an API which:
    • More accurately track texture memory use in the viewer and report it back to the client operating system.
    • Should ensure all available video memory (i.e. that not being used by other applications) on  Windows systems is used by the viewer prior to any texture paging occurring.
    • Works with both Intel and AMD hardware (the latter is important that the OpenGL extensions commonly used by TPVs to achieve a more efficient use of VRAM apparently no longer work correctly on AMD hardware).
  • For Mac OSX, the new method is to use internal accounting to attempt to track how much video memory is free and then estimate a value of available memory for textures from that.
    • This is because the operating will not simply report the amount of free video memory (only how much is installed), ruling out the use of a more scientific approach.
  • Once available in production viewers, these changes should mean those running systems with more recent video cards with decent amounts of free video memory should see much improved texture fetching and loading and see a reduction of textures being paged out to cache (the blurring / sharpening / blurring of textures) seen when the viewer thinks it is using all available / allowed video memory.
  • A further change is to specify the maximum amount of system memory the viewer can use for textures (16 GB, if available on 64-bit systems; 4GB on 32-bit systems).

Puppetry Update

Please also refer to:


  • The discussion on puppetry mentioned in  the above articles will be the first such meeting, and if there is demand for it, there will be a similar meeting on Aditi on alternate Thursdays from September 8th onwards, to be held in the theatre on Aditi Castelet region.
  • These meetings will (initially) be very development focused rather than creator / user focused, given the overall status of the project.
  • It is advisable that attendees use the Puppetry project viewer when attending these meetings (available from the Alternate Viewers page), so that they might see any demonstration which may take place during meetings.
  • [TPVD video 12:50-14:53]:
    • It’s important to notice that what has been made available is a very early stage “alpha” release.
    • The choice of  the  LLSD Event API Plug-in (LEAP) system means that it should be fairly easy to write third-party code to support capture devices (e.g. from Leap Motion through to (potentially) full body trackers – something Vru Linden is already tinkering with).
    • The Thursday meetings are being established to discuss precisely these kinds of opportunities and the potential for things like multi camera support, etc.
  • [TPV video: 31:09-33:24]  Given the success of the real-tome collaboration with PBR / Reflection Probes, it is likely the Puppetry project will also follow a similar approach and utilise a Discord channel for discussion and contributions, etc., over and above the fortnightly meetings on Aditi.

TPVD In Brief

  • [TPVD video: 2:26-4:15] Inventory Updates:
    • This is something the Lab is considering, and has been looking for feedback from users on possible approaches. – see also the previous CCUG  / TPVD  meetings summary.
    • If / when this work goes ahead, it will also involve some general code and other technical tidying-up,  including:
      • Reducing the number of different AIS APIs currently in use.
      • Removing deprecating (and eventually removing) UDP messaging paths for inventory, together with outdates inventory caps (particularly as the latter are superseded.


Next Meetings

  • CCUG: Thursday, September 15th, 2022.
  • TPVD: Friday, September 30th, 2022.