2023 week #27: SL CCUG + TPVD meetings summary

[REN] May, 2023 – 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, July 6th, and the Third Party Viewer Developer (TPVD) meeting held on Friday, July 7th, 2023. 

Meetings

  • The CCUG meeting is for discussion of work related to content creation in Second Life, including current work, upcoming work, and requests or comments from the community, together with viewer development work.
  • The TPV Developer meeting provides an opportunity for discussion about the development of, and features for, the Second Life viewer, and for Linden Lab viewer developers and third-party viewer (TPV) / open-source code contributors developers to discuss general viewer development.
  • As a rule, both meetings are:
    • Held in-world and chaired by Vir Linden.
    • Conducted in a mix of voice and text.
    • Held at 13:00 SLT on their respective days.
    • Are subject to the schedule set within the SL Public Calendar, which includes locations for both meetings (also included at the end of these reports).
    • Open to all with an interest in content creation / viewer development.
  • As these meetings occasionally fall “back-to-back” on certain weeks, and often cover some of the same ground, their summaries are sometime combined into a single report (as is the case here). They are drawn from a mix of my own audio recordings of the meeting + chat log (CCUG), and from the video of the TPVD meeting produced by Pantera Północy (which is embedded at the end of the summaries for reference) + chat log. Not that they are summaries, and not intended to be transcripts of everything said during either meeting.

Viewer News

  • The Windows 32 + macOS pre-10.13 RC, version  6.6.13.580794 was rapidly promoted to de facto release status on July 6.
  • The Second Life Project Inventory Extensions viewer updated to version 6.6.13.580656, on July 6.

The remaining viewers in the pipeline stand as:

General Viewer Notes:

  • The Windows 32 + macOS pre-10.13 viewer is the last official viewer supporting either the Win 32-bit version or Mac OS versions prior to version 11. As viewers for 64-bit only and MacOS 11+ become the defacto releases, this viewer (as it is and without further update) will be moved to a side cohort, and used when someone running a pre-11 MacOS release or a Windows viewer incapable of running the 64-bit version of the viewer will receive this version instead.
  • Maintenance T has returned to being the most likely RC viewer due for promotion to de facto release status, now that its high crash rate has (hopefully) been brought under control.
  • The Emoji project viewer is liable to see further improvements to the Emoji picker in the UI.

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.
  • There is a general introduction / overview / guide to authoring PBR Materials available via the Second Life Wiki.
  • For a list of tools and libraries that support GLTF, see https://github.khronos.org/glTF-Project-Explorer/
  • Substance Painter is also used as a guiding principal for how PBR materials should look in Second Life.
  • 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.
  • Given the additional texture load, work has been put into improving texture handling within the PBR viewer.
  • 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 overall goal is to provide as much support for the glTF 2.0 specification as possible.
  • The viewer is available via the Alternate Viewers page.
  • Please also see previous CCUG meeting summaries for further background on this project.

Status

  • The simulator code is now more widely available on the Main Grid, including some sandbox environments, but still in RC. These regions comprise:
  •  However, it should be noted that:
    • Bug-fixing within the simulator code is also on-going, so those testing PBR materials where the support is available should take note of this.
    • Obviously, to take advantage of these regions (both to upload PBR Materials and to see the new PBR environment lighting + the demonstration objects provided within some the regions, you must be running the PBR Materials RC viewer.
    • The cost of upload for Materials without any textures is free; however, the L$10 texture upload fee is charged on a per texture basis for any included within a PBR material surface (up to four can be included).
    • Any PBR materials content created within these environments which is later rezzed in any region that is not Materials-enabled, will become “material-less” in a non-recoverable way, and will need to be recreated.
    • Because of the above point, until PBR support is fully gird-wide, any attempts to put PBR-enabled goods on the Marketplace will be sanctioned.
  • General bug fixing on the viewer is also continuing, and the spread PBR across the grid is largely down to a mix of bug fixing and getting everything stable, and seeing if any particularly nasty blockers or bug rear up.
  • As an aside, the additional texture overhead for PBR Materials has been one of the drivers behind increasing the amount of VRAM the viewer can use for textures, as also now found within the PBR Materials viewer.

PBR Mirrors

  • This is a follow-on project to the PBR Materials, intended to provide a controlled method to enable planar mirrors in SL (i.e. flat surface mirrors which can reflect what is immediately around them, including avatars).
  • The approach Geenz Linden is taking towards enabling mirrors is to use a “hero probe” concept. In short:
    • With PBR, reflections are generated using reflection probes, per the notes above. These are capped at a maximum resolution of 128×128 per object face; hero probes will be capped at 512×512 per object face, providing a mush higher resolution of reflection.
    • Hero probes are an automated selection process. “Standard” probes cannot be converted to hero probes by manual intervention, nor can they be created.
    • A hero probe is selected on the basis of the “mirror” surface / probe and the proximity of the viewing avatar / camera to it.
    • Thus, if there are 5 mirrors place in a room, only the mirror closest to any given avatar / avatar camera will be used as a hero probe within that avatar’s viewer; the other four will remain “standard” probes, until such time as the avatar / camera moves closer to one of them, at which point it will become the hero probe, and the former hero will revert to a standard probe.
  • The primary use case for this work is mirrors, but it is possible, depending on performance impact, etc., that in the future, one additional hero probe might be allowed per scene, and the use case broadened (e.g. the water reflections).

In Brief

Via the TPVD meeting

  • Simulator updates: two simulator RC are currently with QA:
    • One includes updates to the avatar arrival code (i.e. handling avatars being received into the region via TP) which should help reduce the “viewer freeze” / frame rate drop others in the region can experience.
    • The other includes bug fixes and additional LSL functions.
  • General discussions on:
    • Anecdotal spotting of increased teleport failures, but lacking specifics on location, repro, etc. LL’s gridwide stats on TPs is not reflecting any noticeable uptick in failures. Therefore, those who do encounter them frequently are asked to:
      • Log where / when / how such failure occur.
      • If a pattern emerges (e.g. failures consistently occur when teleporting after doing X, or, say, in the first TP are logging-in, or anything else which suggests a possible underlying pattern), to file a Jira bug report, providing as much of the info they’ve gathered as possible.
    • A similar anecdotal report on people seeing themselves (or others as clouds for extended periods with in increased frequency. Again, where this is seen to happen consistently, a bug report is requested.
    • The official viewer CHUI + lack of chat bar (which also leans into what appears to be a lack of awareness that the Chat Console is not a “Firestorm feature”, but something generally available to people – although new users may need their attention directed to (and how to open chat from it), as the fade-out can case thigs to be missed and the click-to-open chat is not obvious.
    • On options available if TPVs that are not available in the official viewer (or possibly, with some, just not exposed through the UI), but which possibly should be.
    • Please refer to the TPVD meeting video below for further details on the above discussions.

Next Meetings

† 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.