2023 SL SUG meetings week #36 summary

Grauvik, July 2023 – blog post

The following notes were taken from the Tuesday,  September 5th Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • These meetings are conducted (as a rule):
  • They are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
  • Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.

Server Deployments

  • There was no deployment to the SLS Main channel on Tuesday September 5th, leaving all simhosts on that channel running on release 581251, although the hosts were all restarted.
  • On Wednesday, September 6th:
    • The “Bugsmash” simulator update 581292 will be extended across the majority of RC channels.
    • The “Dog Days” update may go to a limited RC deployment – possibly Ferrari. This update includes:
      • The unbinding of the Experience KVP database read / write functions from land (users will still require an Experience to access the KVP database).
      • A scripted ability to set CLICK_ACTION_IGNORE, allowing an object to be clicked-through to reach an object behind it – a flag supporting this is included in the Maintenance U RC viewer promoted to Release status in week #34.
      • PRIM_CLICK_ACTION is added to llSet/GetPrimParams so you can set the click action on prims in a linkset.

Viewer Updates

No updates to the official SL viewers at the start of the week, leaving the current list as:

  • Release viewer,  version 6.6.14.581101, promoted August 23.
  • Release channel cohorts:
    • glTF / PBR Materials viewer, version 7.0.0.581368, August 22.
    • Maintenance V(ersatility) RC viewer, version 6.6.14.581315, August 15.
    • Inventory Extensions RC viewer, version 6.6.14.581357, August 14.
  • Project viewers:

Note: the alternate viewer page also lists “Win32+MacOS<10.13 – 6.6.12.579987” as an RC viewer. However, the Win 32 + pre-Mac OS 10.13 was promoted to release status on July 5th, and viewer version 6.6.12.579987 points to the Maintenance S viewer, promoted to release status on May 16th.

Potential for Improving Vehicle Control Options

Further to the last meeting, Leviathan Linden gave the following update.

 I acquired a SpaceNavigator to make sure I don’t break that functionality [but] the SpaceNavigator is not detected by the alternate game controller detection lib I was thinking about using (libstem_gamepad, available on github). So, I’m going to implement a different detection system and not try to modify or recycle the NdofDevice system currently used to detect the SpaceNavigator. However the NdofDevice system does detect a regular XBox controller… well most of the input axes, not all of them, so, I think I’ll first just expose the controller input to LSL and not change how it is currently used for controlling the avatar. Overhaul of that stuff would be a separate delivery later.

This work may also include feature request BUG-234354 “Virtual control device as intermediate layer between the scripts and the controller”, with Leviathan further noting:

I would like to support multiple controllers at once, and I don’t want to paint myself into a corner where I can’t; but will first make sure just one controller works. I believe we’ll need a way for the various buttons/axes of the controllers to be re-mapped via some viewer User Interface, as part of the initial delivery, but not sure how that will work out just yet. I’m going to try to get my hands on some other controllers to test: a flight stick and a few other odd hardware with extra buttons.

In Brief

Please refer to the video for:

  • A general discussion on llVolumeDetect.
  • A general discussion on Experiences.
  • Monty Linden is continuing to look into issues of the simulator / viewer freezing during avatar arrival, although this work may be suspended whilst Monty is out-of-office for a while.
  • A discussion on options to use scripted function to gain information on the inventory contents of rezzed objects, per feature requests BUG-7395, BUG-34184, and BUG-202886.

† 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 rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2023 week #35: SL TPVD meeting summary

Natthimmel, July 2023 – blog post

The following notes were taken from my chat log transcript of the  Third Party Viewer Developer (TPVD) meeting held on Friday, September 1st, 2023, together with the video recording of the meeting made by Pantera Północy, and embedded towards the end of this summary. My thanks, as always, to Pantera for making these recordings. 

Meetings Overview

  • 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 to discuss general viewer development.
  • As a rule, these meetings are:
    • Generally held once a month  the third or fourth Friday, at 13:00 SLT at the Hippotropolis Theatre. See the SL Public Calendar for specific meeting dates.
    • Open to all with an interest in viewer development.
    • Conducted in a mix of text and voice.
  • The notes herein are drawn from a mix of my own chat log and audio recording of the meeting, and are not intended to be a full transcript.

Viewer Updates

[Video: 0:00-3:17]

  • The Inventory Extensions RC viewer updated to version 6.6.15.581538, August 29.
  • The Emoji RC viewer, version 6.6.15.581557, was released on August 31.
  • The Maintenance V(ersatility) RC viewer, version 6.6.14.581315, August 30.

These updates comprise a promotion to RC status (Emoji viewer) and merging with the new release viewer code base. The remaining official viewers are unchanged as:

  • Release viewer,  version 6.6.13.580918, formerly the Maintenance U(pdate) RC viewer, version 6.6.14.581101, promoted August 23.
  • Release channel cohorts:
    • glTF / PBR Materials viewer, version 7.0.0.581126, June 26.
  • Project viewers:

Note that the alternate viewer page also lists “Win32+MacOS<10.13 – 6.6.12.579987” as an RC viewer. However, the Win 32 + pre-Mac OS 10.13 was promoted to release status on July 5th, and viewer version 6.6.12.579987 points to the Maintenance S viewer, promoted to release status on May 16th.

General Viewer Notes:

  • The Emoji viewer does not include the font updates, which have been moved to their own project. This viewer currently does not have sufficient data to determine where it might stand in terms of being promoted to de facto release status. It normally takes a few days for a reasonable cohort of users on the viewer so that stats on crash rates might be more accurately gathered, together with thing like bugs reported.
  • The Inventory Extensions viewer is currently awaiting UI updates, but is otherwise defined as “pretty close” to being ready for promotion once these updates have been implemented.
  • LL is in the process of determining how to standardise the use of whitespace in the viewer code. This is described as “getting around the infinite conflicts problem” in merging code within the viewer where whitespace is defined (e.g. tabs) differently to other / existing code (e.g. spaces – or vice-versa). It is also defined as “not fixing” the issue of coders all having different opinions on what whitespace should be, but while it is acknowledged the solution will not please everyone, LL will be moving forward with it, and will give more details on the direction they are taking in due course.

Multi-Factor Authentication Update

[Video: 3:27-5:50]

  • Multi-factor authentication has been a part of SL for some time (see here for notes on its introduction), and extended to the viewer shortly thereafter.
  • Within the next “week or two” the log-in service will be updated so that users who have opted-in to MFA will only be able to do so on viewers providing the necessary MFA support.
  • This move was first announced in October 2022, but implementation was delayed to allow all TPVs the time to incorporate the viewer-side MFA code – which should now be the case.
  • Notes:
    • This does not mean all users must use the authentication process; MFA as a whole remains optional. It simply means users who have opted in to MFA will only be able to log-in to SL using a viewer supporting MFA.
    • Should users lose there ability to access SL via the authentication process for whatever reason, they should file a support ticket to have their MFA status reset.
    • Brad Linden also indicated that LL does not have “any additional MFA methods in development right now”, and that requests for things like authentication via e-mail should be made via feature request Jiras.

In Brief

Refer to the video for the following:

  • [Video: 6:05-9:38] a general discussion on code-signing – approach, pros and cons (most TPVs have not implemented code signing). In short, LL are looking to leverage the move to Github Actions for the viewer build process / code management to make code signing “more portable” should any TPVs wish to implement it.
  • [Video: 26:06 to practically to the end of the meeting] Extended discussion on the Emoji viewer and use of emojis particularly being given the choice to enable / disable whether emojis are displayed in text within your own viewer, as several other platforms provide.
    • Some of the discussion appeared predicated on the automatic conversion of text to emojis, which is not actually what the Emoji viewer is doing.
    • It was pointed out that disabling emojis might be beneficial as an accessibility option.
    • The option to add a switch to disable rendering of emojis within the viewer was requested as a feature request for consideration.
  • [Video: 46:46 onwards] discussion on ambient lighting within EEP settings, PDR, PBR reflection probes behaviour (much of it is local chat).

Next Meeting

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

2023 week #35: SL CCUG meeting summary: glTF PBR

Reality Escape – Books, Coffee & Chairs – Oh My! – 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, August 31st, 2023.

  • 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 viewer development work.
  • As a rule, these 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 the location for the meetings.
    • Open to all with an interest in content creation.
  • The notes herein are drawn from a mix of my own chat log and audio recording of the meeting, and are not intended to be a full transcript.

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.
  • The overall goal for glTF as a whole is to provide as much support for the glTF 2.0 specification as possible.
  • 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.
  • 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 viewer is available via the Alternate Viewers page.

Further Resources

General Status

  • Cosmic Linden has been working on some permissions updates to make permissions meaningful when being addressed via LSL. This means that is a materials surface in set to No Modify, a script will not be able to change its tint, for example.
    • Support for this is currently on the glTF / PBR servers on Aditi, where it is being tested (same region names as above, just on Aditi).
    • Changes to reflect these updates will also be made to the viewer so things like the build floater correctly reflect the permissions status.
  • Runitai Linden is continuing to work on the communications bloat issue. This will utilise a new message type – GenericStreamingMessage. This will both make messages passing between the simulator and viewer more compact and also less frequent in order to reduce the load.
  • To help improve people’s awareness / avoid confusion with the updated Build floater, a new pop-up is being implemented that will be displayed and give information on the change when the floater is first opened and used with a PBR material, complete with a link to the PBR wiki page.

Mirrors

  • Mirrors are a part of the glTF / PBR materials project, but something of a separate tranche of work.
  • The idea is provide the means to have via high resolution reflections (i.e. mirrors) within a scene.
  • Initially only one active mirror surface per scene will be active for any viewer.
  • The process will use the PBR reflection probes mechanism, combined with a automated “Hero Probe” mechanism which with generate high resolution (512×512) “reflections” for the mirror.
  • The system will operate on the basis of avatar / camera proximity to a mirror surface triggering the closest reflection probe to become a “Hero Probe” for that avatar / camera. This means that if there are multiple mirrors placed within an environment, only the one closest to a given avatar / camera will be active and display the “reflections” generated by the reflection probe.
  • Depending on testing and performance, the number of mirrors might be expanded to two – one for mirror surfaces and one for Linden Water to generate high resolution water reflections where appropriate.

Summary

  • Geenz Linden hopes to start working on a version of the PBR viewer which supports mirrors very shortly.
  • The final data model for mirrors will not be available on the server end in time for the initial version of a Mirrors viewer, but will be coming later, as it is dependent on dialling-in the parameters required for the mirrors functionality based on testing.
  • Overall, the approach now taken means that mirrors will now not just be limited to planar (flat) surfaces.

Lighting / Ambient Lighting

  • Concerns continue to be raised over colour saturation / ambient colour / light within the PBR viewer within non-PBR regions. People appear to be reporting particular issues with over-saturation and with black surfaces (particularly clothing) looking “flat” or minus any clear definition.
  • It was pointed out that some of the issue may well be down to a combination of running the PBR viewer within regions that do not have the proper PBR environment adjustments, thus leading  – to some degree at least – to tone mapping being overly biased for darker colours + the adjustments made within the PBR viewer to compensate for the lack of reflection probes in non-PBR regions still requiring further tweaking + the PBR viewer generally not rendering the excess ambient light common to existing ambient lighting in non-PBR regions.
  • A lot of this is known to be an issue, and something Runitai Linden has been looking to address, as per my pervious CCUG summaries such as this one.

In Brief

  • Rider Linden noted the following updates will be available in the near future via simulator RC releases:
    • “Dog Days” update, due to go to one or more simulator RC channels during week #36 (commencing Monday, September 4th):
      • The unbinding of the Experience KVP database read / write functions from land (users will still require an Experience to access the KVP database).
      • A scripted ability to set CLICK_ACTION_IGNORE, allowing an object to be clicked-through to reach an object behind it – a flag supporting this is included in the current release viewer.
    • The still in development “Fall Colours” update, which will include:
      • llIsFriend – essentially “Is the avatar touching this object a friend of the object’s owner?”, and then act accordingly.
      • llGetInventoyDesc(ription) – a function to return a list of the contents within an rezzed object.
  • User Animats has been experimenting with a new open-source convex hull algorithm for making physics models, which he describes as probably “not suitable” for the SL mesh uploader, but which “might be useful” when working in Blender. There is a forum thread on this line of investigation got those interested.
  • A suggestion was made that as LL gather stats on the hardware users are employing to access SL, that some measure of this data is made public-facing so that creators might have a better idea of the “typical” hardware environment they need to consider, rather than assuming everyone is either running high-end or low-end systems.
    • This was put in terms of something like a list of the 10 or so most commonly used CPU / GPUs (either individually or in combination); most common RAM amounts used (8GB, 16GB, etc.), with the information made available via a web page or similar.
    • It was pointed out that some of the information might be difficult to put together as it might not be possible to accurately extrapolate or consolidate in a meaningful way.
    • However, Vir Linden thought the idea is worth poking at to see what, if anything might be done towards achieving it.
  • An animated discussion on the permissions system and No Mod objects including:
    • Why people use No Mod (such as the mistaken belief that it “prevents copybotting” + the misunderstanding users might have that while a scripted item may way have No Mod scripts, the item itself can still be modified, etc).
    • A idea for the “reset to defaults” override button for Modify object so that if a user royally messes up an object, they can click the button and restore the original look / texturing, etc., of the object (potentially very hand for Mod / No Copy objects).
    • The addition of a new attribute “Demo” which can be used to both lock an object into No Mod and add some form of “demo” indicator to it for when the user is wearing / examining it.
    • The problem with any changes with the permissions system is that it is a) already extremely complicated in its implementation; b) would require considerable care; c) is liable to be a lengthy, far-reaching project. As such, there may not be the appetite within LL to take on such work.

Next Meeting

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

2023 SL SUG meetings week #35 summary

Briarwood Wildlife Refuge, June 2023 – blog post

The following notes were taken from the Tuesday,  August 29th Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • These meetings are conducted (as a rule):
  • They are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
  • Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.

Server Deployments

  • There was no deployment to the SLS Main channel, leaving all simhosts on that channel running on release 581251, although the hosts were all restarted.
  • On Wednesday, August 30th, there will be a further attempt to deploy simulator update 581292 (“Bugsmash”).

Upcoming Release

  • Week #36 should see the RC deployment of the “Dog Days” simulator release. This includes:
    • The unbinding of the Experience KVP database read / write functions from land (users will still require an Experience to access the KVP database).
    • A scripted ability to set CLICK_ACTION_IGNORE, allowing an object to be clicked-through to reach an object behind it – a flag supporting this is included in the Maintenance U RC viewer promoted to Release status in week #34.
    • PRIM_CLICK_ACTION is added to llSet/GetPrimParams so you can set the click action on prims in a linkset.
  • An upcoming release is “Fall Colours”. Among other elements is a new LSL function, llIsFriend – essentially “Is the avatar touching this object a friend of the object’s owner?”, and then act accordingly. Rider Linden put out a general request for suggestions as to what else should go in this release, which led to an discussion on possible notecard-related functions and options, as per the meeting video.

Viewer Updates

No updates to the official SL viewers at the start of the week, leaving the current list as:

Note: the alternate viewer page also lists “Win32+MacOS<10.13 – 6.6.12.579987” as an RC viewer. However, the Win 32 + pre-Mac OS 10.13 was promoted to release status on July 5th, and viewer version 6.6.12.579987 points to the Maintenance S viewer, promoted to release status on May 16th.

Potential for Improving Vehicle Control Options

Further to the last meeting, Leviathan Linden gave the following update.

Right now I’m looking into exposing game controller buttons directly to LSL. All the other vehicle related ideas will have to wait until after this is done. The work is in progress, but one thing I learned is… our current game controller detection logic can’t capture all of the buttons/axes of a typical Xbox style controller. The logic is limited to 6 axes of motion and the Xbox controller I’m using has 8 axes. So I’m currently trying to hack in a different device detection [cross-platform] lib[rary] to see if I can get it working without breaking the SpaceNavigator support. … My hope is to support variable number of buttons and axes.

As might be expected, this led to a discussion on the potential game controllers offer Second Life.

In Brief

  • There are anecdotal reports that the issue of the Friends on-line list not correctly updating after log-in, etc., is now subsiding.
  • Monty Linden is continuing to look into issues of the simulator / viewer freezing during avatar arrival, although this work may be suspended whilst Monty is out-of-office for a while.
  • A discussion on options to use scripted function to gain information on the inventory contents of rezzed objects, per feature requests BUG-7395, BUG-34184, and BUG-202886.

† 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 rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2023 SL SUG meetings week #34 summary

Orcinus Isle, June 2023 – blog post

The following notes were taken from the Tuesday,  August 22nd Simulator User Group (SUG) meeting. They form a summary of the items discussed and is not intended to be a full transcript. A video of the entire meeting is embedded at the end of the article for those wishing to review the meeting in full – my thanks to Pantera for recording it.

Meeting Overview

  • The Simulator User Group (also referred to by its older name of Server User Group) exists to provide an opportunity for discussion about simulator technology, bugs, and feature ideas.
  • These meetings are conducted (as a rule):
  • They are open to anyone with a concern / interest in the above topics, and form one of a series of regular / semi-regular User Group meetings conducted by Linden Lab.
  • Dates and times of all current meetings can be found on the Second Life Public Calendar, and descriptions of meetings are defined on the SL wiki.

Server Deployments

  • No deployments for the major simulator channels this week, but all simhosts will be restarted.
  • There may be a small deployment to the Snack channel (Yondercane), to test changes to the way avatar arrivals in a region are handled (see below).

Dog Days Roll-Back

  • On Wednesday, August 16th, the Blueteel RC channel was updated with update 581292 (“Dog Days”).
  • During testing, it was discovered the update was causing some worn attachments were being renamed “Object” when edited whilst attached while retaining the correct name when seen in Inventory / detached to Inventory.
  • However, if such an attachment was dropped in-world, it would be renamed “Object”. As this was deemed to not be optimal, the update was rolled back.
  • If all goes according to plan, an attempt to re-deploy the release will be made in week #35.

Viewer Updates

The glTF / PBR Materials viewer, updated to version 7.0.0.581368, on August 22nd. All other available official viewers remain as follows:

Note: the alternate viewer page also lists “Win32+MacOS<10.13 – 6.6.12.579987” as an RC viewer. However, the Win 32 + pre-Mac OS 10.13 was promoted to release status on July 5th, and viewer version 6.6.12.579987 points to the Maintenance S viewer, promoted to release status on May 16th.

Avatar Arrival Update and Other Simulator Work

This is a first pass at working to improve avatar arrivals (AA) in regions and reduce the amount of “freezing” may occur whilst the arrival is processed, with further work indicated in the future, Monty Linden described this part of the work thus:

AA is the first part of an effort to tune the simulator’s main processing loop. There are *many* causes of very long frames currently. One of the worst offenders is avatar attachment handoff and rezzing at region crossings and teleports. AA attempts to break up and time bound that process, particularly when multiple avatars are involved in a crossing, allowing the frame to complete more closely to the scheduled time. [The] goal is to improve interactivity and responsiveness to those *not* involved in the RC/TP at the expense of those crossing having their glorious collections of stuff attached a bit more slowly. This first pass includes some of that monolithic execution breakup and some tuning.

Monty went on to note that the AA update will only be deployed for testing / data gathering prior to being withdrawn rather than being expanded to additional channels, whilst he continues to work on the matter in the background and possibly expands the scope of the work to include things like better script optimisations and hand-offs during teleports / crossings, etc.

This led to an extended discussion on region crossings / teleports which extended across most of the meeting, with Rider Linden noting he’ll attempt to have a list of regions on the channel for the meeting next week (assuming the deployment goes ahead), so that interested parties can test both teleports into them and regions crossings between them. This in turn entered into better / alternate means of script scheduling / management (and refactoring the former to reduce some of the simulator load), together with options for improved attachment / messaging, etc., handling.

As an aside to this work, Monty indicated he is working on a diagram showing the simulator main processing loop which could be published for public consumption, once it has been cleaned-up.

Potential for Improving Vehicle Control Options

Rider Linden raised this towards the end of the meeting for discussion, thus:

We’ve been having some discussions internally about taking controls and expanding the number of keys available and perhaps even allowing analogue input for movement to the simulator. Leviathan and I would love to get some feedback on how people would use that and how you’d like to see something like that work.

To which Leviathan added:

I’ve solicited for input and have received a bunch of input and ideas. I think the first sub project in that direction will be to try to expose raw game controller input (joysticks and buttons) to LSL. With regards to keyboard controls, if you look at all of the feature requests over the years, ultimately people want access to just about ALL of the keys. I was worried about the ability to make a keylogger in SL, however Signal thinks that wouldn’t really be a problem.

The majority of the feedback was for capabilities to be added to enable a broader range or controllers rather than trying to expand keylogging capabilities exponentially, although keystroke capture and use appears to be more of a focus for Leviathan.

Please refer to the last 10-12 minutes of the video for this discussion.

† 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 rooftop of people every week. They are taken from my list of region visits, with a link to the post for those interested.

2023 week #33: SL CCUG meeting summary: glTF PBR; Senra

Chang’an, May 2023 – click any image for full size – 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,  August 17th, 2023. 

  • 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 viewer development work.
  • As a rule, these 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.

Additional note: this meeting suffered several drop-outs (for whatever reason) plus my own Internet connection also went out; as such this is not a complete reflection of the meeting and all topics.

Viewer Status

General Viewer Notes

  • There are a couple of issues with the Inventory Extensions RC viewer which need to be addressed before this progresses to being ready for promotion to release status.
  • The internal discussions on font changes in the Emoji viewer (see my last CCUG / TPV meeting summary) will likely be split into a separate project, allowing the Emoji viewer to progress forward as it is.

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.
  • The overall goal is to provide as much support for the glTF 2.0 specification as possible.
  • 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.
  • 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 viewer is available via the Alternate Viewers page.

Further Resources

General Status

  • The communications bloat driven by multiple script-driven glTF materials updates generating multiple connections between the viewer and the simulator (thus impacting performance) continues to be addressed. The outcome of this work is liable to result in protocol changes as and when the work is complete.
  • A number of permission-related fixes have been implemented.

Lighting / Ambient Lighting

  • The issue over the rendering changes the glTF project will bring to Second Life. It has been well-established that the PBR system removes the forward render pipe (aka “non-Advanced Lighting Model (ALM)”) from the viewer’s renderer.
  • Equally, over the last several meetings (and as noted in my CCUG summaries covering PBR) there has been discussion on the fact that PBR utilises HDR + tone mapping with rendering  / lighting. This is a significant change to Second Life, particularly when it comes to the amount of rendered ambient light (until now SL has rendered a lot of additional ambient light), resulting in two related issues:
    • Because it is intended to mimic real-world ambient lighting, environments rendered on the PBR viewer with HDR + tone mapping enabled can look a lot darker than when viewed with a non-PBR viewer, and baked lighting really does not work (and can end up looking very bad) – scripted / direct lighting is required – something for which many store owners and users in general might not be prepared.
    • While disabling the ambient HDR rendering is possible within the PBR viewer (potentially eliminating the above issues), it conversely results in any PBR content within the scene looking “bad” or “broken”, risking content creators trying to find workarounds to the glTF specification in order to make their content “look good” under either lighting condition – something they absolutely should not do.
  • Discussions are still on-going at the Lab on how best to handle this conflict between PBR and non-PBR rendering as the latter is deployed and gradually gains broader use. As a part of this, it has been recognised that one of the most direct means to alert users is via communication.
  • To this end, a form of “best practices” and guidelines for PBR are being developed with the intention to make them available to users in advance of PBR being fully deployed / released. Expect to (hopefully) hear more about this via future CCUG meetings.

Mirrors

  • Geenz Linden is currently refactoring the Hero probes which will be automatically selected for generating higher resolution reflections based on an avatar’s proximity to a planar mirror surface (and initially limited to 1 (or possibly 2 per scene  – the second being for Linden Water reflections, but this has yet to be confirmed).
  •  This work will see the Hero probes treated as their own class of reflection probes with their own filtering, etc., to avoid conflicts (debugging, etc.) with the “general” reflection matte manger. This will also better support the higher resolution of the Hero probes and possibly allow for additional Hero probes to be supported within the viewer in the future.

Building Tools

  • PBR will see a significant change to the Edit / Build floater as the project becomes more widely deployed, and this has started internal discussions at LL about the state of the in-world build tools, and what might be done to improve them for general use. Ideas put forward at the meeting included:
    • More flexible means of cutting holes in prims (e.g. offset from the Z axis of the prim), such as through the introduction of a Boolean support.
    • Making text entry within the floater consistent (e.g. clicking on some fields, the existing content is highlighted for over-writing, in others it isn’t).
    • Inclusion of a prim alignments capability (as found in some TPVs) as a default tool + making the alignment more flexible that just to the sides / edges of the bounding boxes of the objects.
    • A broader range of primitive shapes (e.g. simple step units) and improved tools for torturing prims to produce custom shapes.
    • Better exposure of some of the build options on the official viewer (e.g. making the Local Textures option a radio button option in the Texture tab, rather than hidden in a drop-down) to make them more visible.
    • Also making it clearer that an object includes Local Textures, such as via a pop-up, to remind the creator to apply an actual texture to the affected face(s).
    • Better tools  / support for making clothing.
    • Better UDIM support for UV maps.
  • These idea will be fed back into discussions at LL.

Senra Avatars

[Note: this section is abbreviated as I lost my Internet connection for some 14 minutes of the meeting & this was followed by the meeting being disrupted a further 2 times.]

  • Further discussion over the continued confusion / concern over the Senra avatar system (outside of the ongoing disquiet over the licensing agreement), including:
    • Frustration / confusion over the amount of conflicting information being offered by Linden Lab – e.g. the dev kit application form states applicants “must” own a store but Patch Linden has stated in a forum post that owning a store “is not” a requirement.
    • Negativity on the use of an application requirement at all:
      • Some see it as presenting an unnecessary barrier for some (e.g. users who just want to create Senra-related items for their personal, rather than commercial, use).
      • Concerns over privacy / security with the devkit application form being outside of SL (where it is subject to potential abuse) rather than – as with the Mesh Upload Status form  – being included within the Secondlife.com dashboard,  where it would be both secure and firmly linked to an account.
    • Further questioning as to why AvaStar has been determined to be a core requirement for the devkit, rather than simply relying on Blender.
  • More general frustration was voiced at the idea that the “Senra team” only appear to be willing to engage through the forum threads on the topic, and then only in what is perceived as being a narrow focus of engagement, with no-one appearing willing to attend the CCUG meeting – which given Linden Lab want creators to produce content for Senra would seem to be a pretty good place for them to actively address feedback in real time, at least in lieu of any Senra-focused meeting(s).

In Brief

  • While they are not in anyway directly connected or related, Cosmic Linden noted that her work on enabling PDR materials as terrain textures in the viewer is being used as a testbed for possible approaches to enabling PBR with avatar Bakes on Mesh – although the latter is not currently an active project.

Next Meeting

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