
Meeting Purpose
- The CCUG meeting is for discussion of work related to content creation in Second Life, including current and upcoming LL projects, and encompasses requests or comments from the community, together with related viewer development work. This meeting is held on alternate Thursdays at Hippotropolis.
- Meeting dates and times are recorded in the SL Public Calendar, and they re conducted in a mix of Voice and text chat.
- The notes herein are a summary of topics discussed and are not intended to be a full transcript of the meeting.
Official Viewers Update
- Release viewer: version 7.1.10.10800445603, formerly the DeltaFPS RC (multiple performance fixes, etc), dated September 11th, promoted September 17th.
- Release Candidates(s):
- None at present.
Near-Term Viewer Release Roadmap
As a reminder, linden Lab is focused to bringing viewer performance back up to levels equal or close to “pre-PBR” performance,. This involves both further adjustments in the wake of the PBR releases and also fixing issues not directly related to PBR, which were coincidentally introduced with Graphics Featurette viewer release. This work is currently focused on, but not limited to, the following viewer updates from LL:
- Atlasaurus, promoted to release status on August 16th, 2024.
- DeltaFPS, promoted to release status (and thus superseding Atlasaurus) on September 17th, 2024.
- ExtraFS, a new viewer that will be issued as a release candidate viewer in the near future.
Once ExtraFPS reaches at least RC status, work will commence on resuming the normal follow of maintenance update viewers, etc., as per the more usual flow of viewer updates.
- The first maintenance RC to be issued will likely include contributions to help with Linux support in the viewer.
- It will also likely also include a round of further “post-PBR” performance / aesthetic improvements.
WebRTC Status
Summary
- A new project intended to move Second Life away from reliance on the Vivox voice service and plug-in, and to using the WebRTC communications protocol (RTC=”real-time communication”). Roxie Linden is leading this work.
- Key benefits:
- WebRTC supports a wide range of real-time communications tools in common use (e.g. Google Meet), supporting audio, video and data communications, and is thus something of a “standard” approach.
- Offers a good range of features: automatic echo cancellation, better noise cancellation and automatic gain control, much improved audio sampling rates for improved audio quality.
- Opens the door to features and capabilities to voice services which could not be implemented whilst using Vivox.
Status
- WebRTC is now fully supported in the official viewer.
- Back-end deployment – WebRTC support is available on the following regions Pop Rock RC, comprising: WebRTC Voice 1, WebRTC Voice 2, WebRTC Voice 3 and WebRTC Voice 4.
- Not that during the transitional period of moving from Vivox to WebRTC, there is no bridging between WebRTC peer-to-peer / ad-hoc and Vivox.
- There will be an updated Echo Island specifically for WebRTC, which will be be available soon.
Graphics Team Work
Performance / Aesthetics Improvements
- DeltaFPS has a major change to the texture streaming system utilising the GPU:
- Until now, the approach has been to drop the texture resolution down to a very low resolution (often causing a texture to blur on-screen) and then use the CPU to bring it back up to the appropriate resolution for display.
- With DeltaFPS and going forward, the GPU is used to generate a copy of the texture at the appropriate resolution for display, and this is then used in rendering, with the higher-resolution version then discarded.
- The overall results of this is a) there should be a lot less visible blurring of textures as they are loaded; b) the CPU load should be reduced; c) texture loading should be a lot smoother and faster.
- The upcoming ExtraFPS viewer includes texture rendering improvements for rigged attachments:
- Currently the viewer does not have an clear idea as to the size of a rigged attachment, other than it being possibly as big as the avatar, so all attachments essentially get the same texture resolution no matter how small there actually are, which can impact performance.
- With ExtraFPS the texture resolutions for attachments will be more correctly calculated by their size, reducing the texture rendering overheads (e.g. rather than the texture for buttons on a jacket being loaded at its full 2K resolution, a much lower resolution sample for the texture is used unless the camera is zoomed right in on a single button, when higher resolution are used until zoomed out again).
- This should mean that general viewer performance in crowds of avatars is improved, as the viewer isn’t trying to load high-resolution textures across every attachment in its view.
- Note: this change is purely with regards to attachment textures, it does not change attachment LODs.
- Anti-Aliasing:
- ExtraFPS will support Subpixel Morphological Anti-Aliasing (SMAA).
- In addition, as as per the previous CCUG meeting, Rye Cogtail from the Alchemy team is planning (or already has) submitted contribution to improve the FXAA code for inclusion in the ExtraFPS viewer.
- Those requiring more insight into anti-aliasing and the various types of AA, including FXAA and SMAA, can find out more in What Is Anti-Aliasing? TAA, FXAA, DLAA And More Explained, via Digitaltrends.
- Tone mapping:
- The viewer update after ExtraFPS should include the Khronos Neutral tone mapper (another code contribution by Rye Cogtail), which should improve overall ambient lighting in SL.
- To help with this, the viewer will include additional user controls. During the previous CCUG meeting, these were described as a combo box and a slider within the Advanced Graphics settings, together with a new new control – Tone Mapping Strength – to alter the linear alpha colour.
- Linear alpha blending:
- Again, as per the previous CCUG meeting, in order for PBR lighting to render anywhere close to correctly, alpha blending had to be switched from SRGB to linear colour space. This can cause some older content using Blinn-Phong, to look either more opaque or more transparent than in did pre-PBR.
- A fix for this giving people the ability to adjust the alpha/gamma on per texture entry for the object (including no mod items) is in development, and will likely surface in the viewer after ExtraFPS.
Linden Water
- Linden Water reflections have been reduced in quality with PBR. Geenz linden is experimenting with using elements of the mirror reflection code to try an improve them, but was not at the meeting to provide and update.
- This work is also not a current priority, as Geenz is focused on the performance improvements work.
- Adjusting screen space reflections (SSR) to correct the issue is not an option as “SSR has it own bunch of problems”.
PBR Terrain Work
- Texture transforms (as a subset of the KHR texture transform) for applying scale, offset and rotation to any one of the four PBR terrain materials, are in development for the viewer, and are currently behind a feature flag and is awaiting further work on the server-side, which is currently in a very preliminary state.
- The server support is available on Aditi (the Beta grid), those wishing to test it should contact Cosmic Linden.
- In addition, an LSL API for manipulating PBR terrain materials has been requested, but this is not something that is currently being worked upon.
In Brief
- [Video: 14:48-17:18] Will GLTF mesh uploads address the issues of random linkset ordering (i.e. currently, when uploading a multi-object .DAE file, it is turned into a linkset with random ordering, so the root object can never be know until post-upload)?
- Yes. What should happen is whatever the hierarchy is used within Blender (or similar glTF-compliant mesh modelling tool us used) should be reflected in SL after upload.
- The basic interoperability between Blender and SL can be found here in the Blender documentation, although note that LL are not going to support extensions like Clearcoat, Sheen and Anisotropy with the initial release.
- [Video: 18:25-30:15] In-world build tools:
- As a part of the upcoming glTF scene import support, the in-world build tools will be given the ability to edit such scenes (subject to permissions). These will likely take the form of a Scene Explorer and Scene Management tools.
- LL has had internal discussions on a “simplified editor for decorating houses, etc.”, and feedback has been requested as to what kind of improvements to the existing in-viewer toolset / additional tools people would like to see.
- This sparked a brief conversation on possible improvements to the build tools / options, together with a discussion on the growing complexity of wearable layers (due to creators effectively “splitting off” face !skins” into layers, which can cause issues with the ordering of layers, and the ability to “lock” the ordering of specific items in a layer class – e.g. the “face tattoo” should always be “below” any “make-up” tatt0o, etc.) .
- Please refer to the video for more.
- [Video: 30:35-36:20] A general discussion on getting started on avatar rigging and animation + suggested resources (e.g. AvaStar, AvaStar discord channel, Bento Buddy; making the avatar UV files, etc., more accessible via secondlife.com rather than being buried in the SL Wiki) – again please refer to the video.
- [Video: 36:25-38:32 and 57:39-end] Generative AI and SL content creation:
- Some basic internal experimentation has been carried out with meshy.ai. It is described as “compelling” in terms of content creation, but “definitively cost prohibitive to host such a thing”.
- As such LL are brainstorming how they might interact with such a tool from SL, should they opt to go that particular route.
- In addition, other AI tools are being speculatively looked at as well.
- Please refer to the video for more.
- [Video: 45:59-49:50] a request for additional LSL functions llGetSTPos and / or llGetUVPos get a world positioning from a texture coordinate. The short answer was no, and for a combination of reasons, but might be something for the upcoming viewer-side Luau scripting. Please refer to the video.
- [Video 50:36-57:29] General discussion on the feedback portal, feature requests, duplication of requests etc.
Next Meeting
- CCUG: 13:00 SLT, Thursday, October 3rd, 2024, at the Hippotropolis Campsite.
Footnotes
† 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.