2022 week #40: CCUG meeting summary

Sweetwater Valley, August 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, October 6th 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 Status

No changes through the week, leaving the current crop of official viewers as:

  • Release viewer: version – hotfix for Crash at ~LLModalDialog() – promoted September 15 – no change.
  • Release channel cohorts:
    • Maintenance 3 RC viewer, version, September 23.
    • Maintenance P (Preferences, Position and Paste) RC viewer version September 19.
  • Project viewers:
    • Performance Floater / Auto-FPS project viewer, version, October 4.
    • Puppetry project viewer, version,  issued on August 30.
    • Love Me Render (LMR) 6 graphics improvements project viewer, July 21.

The Performance Floater / Auto-FPS project viewer includes a merge between the performance improvements from Firestorm integrated with the Lab’s auto-FPS capabilities.

PBR: Materials and Reflections

  • Please also see previous CCUG meeting summaries for further background on this project.
  • Test viewers continue to be made available to those on the Content Creation Discord channel. Requests to join that channel should be made in person at CCUG meetings. I am no longer able (at LL’s request) to furnish such information.
  • Viewer notes:
    • In order to make it clear when someone is working with PBR materials assets, there is an additional option within the viewer’s Build floater which, when selected, will open a dedicated PBR Materials editor, rather than munging the editor controls into the Build floater.
    • This also allows options like Glow (not a part of the glTF specification) to be retained and potentially used as an overlay on PBR materials.
    • Render work has seen the removal of the stencil buffer. This means that those build tools relying on the stencil buffer will be changing or completely going away from the viewer (e.g. the show grid cross-section checkbox, which has been broken for some time).
  • Work is in progress to integrate Linden Water into the new rendering pipe and support reflection probes.
    • This is also seeing some additional work on underwater refraction and on water reflections (e.g. no longer necessarily real-time reflections) so as to lighten the performance load.
    • The changes will mean Linden Water will look a little different as to how it looks at the moment.
  • Additional scripting functionality has been added to the glTF test regions on Aditi to allow the configuring the reflection probes:
    • llSetPrimitiveParams([ PRIM_REFLECTION_PROBE, /*integer*/ enabled, /*float*/ ambiance, /*float*/ clip_distance, /*integer*/ flags ])
    • llGetPrimitiveParams([ PRIM_REFLECTION_PROBE ])
    • Link set variants of these functions should also work. These are the flags you can use in the last parameter:
      • PRIM_REFLECTION_PROBE_BOX` – Flag that determines if probe is a box or sphere.
      • PRIM_REFLECTION_PROBE_DYNAMIC` – Flag that determines if probe will cause avatars to be shown in its reflections
  • Overall, it is felt:
    • That a plan / process is in place to future-proof the work for the additional of further glTF parameters down the road.
    • The test viewer is moving rapidly towards a point where a pubic Project viewer will debut.
  • The aspirational goal for this work is to have the viewer fully released by the end of 2022. However, this is dependent upon feedback and reaction to some of the compromises made, once the viewer gets to project status as a wider audience.

In Brief

  • Planar mirrors: if developed, these are seen as being similar to mirrors found in VRChat, etc., where they can reflect the local scene in detail, although at a performance impact.
    • There are potential ways to help reduce the impact – such as by limiting the distance at which a mirror is seen as “active” via the viewer (e.g. if you are within 5 metres, reflections are generated in the mirror; if you are beyond 5 metres from it, no reflections are generated) or by having mirrors touch-activated.
    • Ideally, such mirrors would have a specific function, and not merely another item of set dressing for a scene, and reflection probes will be used for generating environmental reflections (e.g. those seen on the shine of a car body or piece of silverware), rather than trying to make general object surfaces planar mirrors.
    • Note that any of this work would be for a future project, and is not part of the current PBR Materials + reflections work.
  • Custom pivot points: this work is described as currently “stalled out” due to investigations into supporting full hierarchies and similar, which have proven more complicated that first thought – although the benefits of having a full hierarchy is seen as being a major benefit.
  • LOD Clamping, etc. (please refer to my previous CCUG / TPVD summary for background on this: discussions are still in progress, and nothing definitive has been decided as yet. However, enforcing a hard clamp on setting LOD factors (including via the RenderVolumeLODFactor debug) is seen as a potential first step.
    • Were this to be done, TPVs would be given a suitable lead time to encourage creators to make suitable adjustments to their content.
    • This would apply only to in-world objects, although it is recognised avatars are a problem in their own right.
    • The latter have had some amelioration applied, as the Performance Improvement code ignores rigged attachment scaling, and only paying attention to the avatar bounding sphere, so a) LODs should be selected based on the size of the avatar; b) rigged attachments should change LOD depending you your camera distance from them.
    • The above does not apply to rigged meshes with no LODs – so it is possible the Lab will start auto-generating LODs for these in the future.
  • Avatar imposters: SL currently leans heavily on the avatar imposter system to reduce the load of rendering avatars. It has been noted that a preferable route would be to generate mesh proxies for avatars at a distance. However, whilst discussed within the Lab, this is not  – yet – a project.

Next Meeting

  • Thursday, October 20th, 2022.