2023 week #18: SL CCUG meeting summary – PBR

Elvion, March 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, May 4th, 2023 at 13:00 SLT. 

These meetings are 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. They are usually chaired by Vir Linden, and dates and times can be obtained from the SL Public Calendar.

Notes:

  • These meetings are conducted in mixed voice and text chat. Participants can use either to make comments / ask or respond to comments, but note that you will need Voice to be enabled to hear responses and comments from the Linden reps and other using it. If you have issues with hearing or following the voice discussions, please inform the Lindens at the meeting.
  • The following is a summary of the key topics discussed in the meeting, and is not intended to be a full transcript of all points raised.

Official Viewer Status

No updates through until the meeting, leaving the official viewer pipelines as:

  • Release viewer: Performance Floater / Auto FPS RC viewer, version 6.6.11.579629, promoted April 25.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
  • Project viewers:
    • Puppetry project viewer, version 6.6.8.576972, December 8, 2022.

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.
  • 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.
    • It is currently to early to state how this might change when glTF support is expanded to include entire objects.
  • The overall goal is to provide as much support for the glTF 2.0 specification as possible.
  • To provide support for reflection probes and cubemap reflections.
  • The viewer is available via the Alternate Viewers page.
  • Please also see previous CCUG meeting summaries for further background on this project.

Status

  • The viewer is now at Release Candidate status, per the viewer update list above. HOWEVER, the server-side support for glTF / PBR is still awaiting deployment to the Preflight RC channel on the main grid, so for the time being, the viewer still only works on Aditi (the Beta grid), on the following regions: Materials1, Materials Adult, Rumpus Room and Rumpus Room 2 through 4.
  • The viewer will remain in RC for some time to allow for broader feedback to be gained, particularly once the server support has been deployed to simhosts on Preflight (and, most likely Snack as a follow-on), and so is more amenable for testing by a wider group of users / creators.
  • As always, those who do find significant issues in using the viewer in RC are asked to report them via a BUG report ASAP.
  • Runitai Linden (aka Dave P), has been working on avatar performance with PBR, hoping to up the performance a little further, as well as continuing to refine reflection probes.
  • Brad Linden continues to work on bug fixing, improving network traffic overheads, etc.
  • A new addition to the PBR viewer is a reflection probe visualisation debug tool, allowing the volume of space specific probes are influencing to be seen, allowing people to better understand where reflections on surfaces are coming from, etc.
  • Application priorities: if a surface had either only PBR Materials applied, or PBR overlaying the “traditional” SL materials, it will be rendered according to the glTF specification. If an object has faces with different materials types (e.g. PBR Materials on some faces – such as the sides of a prim cube, and “traditional” SL materials on the others), the viewer will render the PDR faces via the the PBR renderer, and those face with the older materials in a manner consistent with how the should appear if rendered on a non-PBR viewer.

PBR Resources for Testing

  • There have been some requests for content to test PBR Materials against. Content has been provided (by LL and some of the creators testing PBR Materials already) on Aditi, and some of this could potentially be ported.
  • One suggestion was to make a sandbox available for PBR testing, allowing creators to build / import their own content and test it under different EEP settings (e.g. their own / those in the Library), using the Apply Only to Myself option.
  • Custom EEP settings are one particular area of testing that EEP creators might want to look at (both in terms of the PBR viewer and also with any PBR Materials test content). This is because there have been some changes made to the environment rendering in the PBR viewer which might impact some custom EEP settings, which may require them to be adjusted / updated and / or BUG reports raised against significant issues.
  • For those wishing to gain familiarity with PBR Materials in general, their is the SL Wiki entry for it, and it has been suggested some general test content could be provided through that page.

Future glTF Work

  • Geenz Linden is actively working on real-time mirror as a future follow-on project from the PBR Materials work, as well as working on Screen Space Reflections

Next Meeting

  • Thursday, May 18th, 2023.

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

May 2023 SL Web User Group (WUG) meeting summary

The Web User Group meeting venue, Denby

The following notes cover the key points from the Web User Group (WUG) meeting, held on Wednesday, March 3rd, 2023.

WUG meetings:

  • Are held in-world, generally on the first Wednesday of the month – see the SL public calendar.
  • Cover Second Life front-end web properties (Marketplace, secondlife.com, the sign-up pages, the Lab’s corporate pages, etc.).
  • They are not intended for the discussion of Governance issues, land fees / issues, content creation & tools, viewer or simulator development / projects. Please refer to the SL calendar for information on available meetings for these topics.

A video of the meeting, courtesy of Pantera, can be found embedded at the end of this article (my thanks to her as always!), and subject timestamps to the relevant points in the video are provided. Again, the following is a summary of key topics / discussions, not a full transcript of everything mentioned.

Marketplace

  • Mentioned towards the end of a blog post made on April 7th relating to (then) recent updates, the change to allow best selling to now index each merchant’s store individually instead of just the top 50k items is now being actively worked on.
    • When complete, it will allow customers to sort the listings within a store by those which have been the top selling over a certain period of time (exact period still TBD at the time of writing).
    • In addition, Sntax Linden is interested in taking feedback from merchants on idea they may have for best selling items indexing / lists.
  • Also raised at the April meeting was the subject of a Marketplace “Spring Clean” (last performed in 2019).
    • This will see the unlisting of products and/or disabling of merchant stores if they meet specific criteria (as defined in the blog posted linked-to above).
    • Note that products / stores can be re-activated by the Merchant logging-in and re-activating and re-listed.
  • The “Spring Cleaning” discussion included a number of suggestions / comments, including providing  listings with an indicator to show if the merchant had logged in to MP in the last X number of days, so that customers might have some idea as to how active the merchant is, should support be required (privacy concerns were raised over this idea).

In Brief

Please refer to the video for these topics.

  • The Spring Cleaning topic led to a broader discussion on preserving content which might be regarded as “historic” (with the creator’s approval) when the creator departs Second Life.
    • This is not necessarily something restricted to saving within the Marketplace.
    • There is already the Second Life Region Preservation Society which can take entire regions into LL’s stewardship when certain criteria can be met).
    • However preserving individual products / product lines raises issues of IP which could be more complicated than with the preservations of a region, and with issues of continued support (or the expectation thereof) should the product(s) also continue to be in use within SL.
  • Questions were asked about shopping practices and how often people use the MP shopping cart to store-up items for later purchase, rather than proceeding to the checkout with a cart when they’ve finished their current round of shopping.
    • Responses to this were many and varied (e.g. “because I don’t want to make any MP purchases until I’m in-world to receive / unpack / sort them”), through to comments about lack of wishlist functionality (e.g. they remain cumbersome to use / load slowly / the link to add items to a wishlist is not obvious, etc.).
  •  In terms of wishlists, the option for multiple / custom wishlists was again raised, and noted that it is on the MP roadmap, but currently under the heading of “someday”, rather than something that is actively being worked on or considered for implementation at this point in time.
  • A general discussion on how merchants promote new products – via Groups, Twitter, Discord, word-of-mouth, etc.
    • One suggestion was to allow customers the ability to “follow” their favourite stores (see feature request
    • BUG-233138 “Social/Creator Focused Marketplace Feed”), allowing them to receive / view information on new releases from those stores when visiting the MP.
    • Whilst reactive rather than proactive, it was also pointed out that the above could be done when a customer goes to their Favourite Stores listing on the MP and then order by Age: Newest First.
Sorting Favourite Stores on the MP to show latest releases from each store. Credit: Alexa Linden
  • The above led to the suggestion that people could have their own personalised MP home page, listing favourite stores, providing updates on the releases etc.
  • Dates for listings – date listed, date last updated, last date the item sold, for example – have been requested in the past and were requested again, together with indications on whether products are using  the latest / more recent SL capabilities, if relevant (e.g. Bento, PBR (once in general use), etc). However, trying to cover everything likely become overly complicated.
  • The idea of “verified” creators was also raised: although exactly what the criteria for this should be might be seen as subjective, or the process itself might be seen as a barrier to entry )were it, for example, involve LL requesting personal information beyond that already requested).
  • Plrease refer to the second half of the video for these and other general discussions.

Next Meeting

  • Wednesday, July 5th, 2023 (according to the public calendar – check for changes). Venue and time per top of this summary.

2023 SL SUG meetings week #18 summary

Kaleidoscope, February 2023 – blog post

The following notes were taken from the Tuesday,  May 2nd 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.

Server Deployments

  • On Tuesday, May 2nd, the SLS Main channel servers were restarted without any deployment, leaving them on simulator release 579248.
  • On Wednesday, May 3rd, the maintenance release made to the Bluesteel RC channel in week #17 will be deployed to the rest of the RC channels.
    • One of the updates in this release is designed to fix issues “in the vicinity of” BUG-232037 “Avatar Online / Offline Status Not Correctly Updating”. At the time of the week #17 deployment, it was noted that all instances of the issue may not have been fixed, and the time the release has been on BlueSteel proves this to be the case.
    • Similarly, while this update helps fix an issue with avatars colliding with their vehicles on region crossings, it does not fix all region crossing issues; more will be addressed is an upcoming simulator update which should be “heading for RC soon”.

Viewer Updates

No official viewer updates at the start of the week, leaving the pipelines as:

  • Release viewer: Performance Floater / Auto FPS RC viewer, version 6.6.11.579629, promoted April 25.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
  • Project viewers:
    • Puppetry project viewer, version 6.6.8.576972, December 8, 2022.

PBR Materials

With the promotion of the PBR Viewer to Release Candidate status, the plan remains to deploy the server-side code to a Release Candidate channel on the main grid “real soon now”. The code will initially go to the Preflight RC channel with a limited number of regions. Should it prove stable there, it will be expanded to the Snack RC prior to gaining promotion to one (or more) of the “major” RC channels.

In Brief

  • A discussion on region crossings and also an apparent uptick in teleport failures. Again, there is a lot of anecdotal evidence here that might be causing incorrect conclusions to be drawn:
    • Those doing a lot of consecutive region crossings in relatively short order (e.g. through flying, boating, driving) believe issues are “increasing”, and thus drawing the conclusion failures are widespread / endemic, and that those who are not seeing the same issues elsewhere is simply down to those other regions being routinely restarted.
    • Those making region crossings / TPs on a more  extended basis (e.g. interspersed with some amounts of time with each region, rather than just passing through / hopping one to the next) are not seeing the same issues, even within regions subject to heavy use (as with Fantasy Faire), and therefore questioning whether there is any real increase in issues.
    • (Which is not to say region crossings are not problematic; just that they can be subject to subjective responses rather than objective measurement.)
  • BUG-233784 “Add sensor type LOW_SCRIPTED as an option” sparked a debate on whether it should be a feature request or BUG report. This has been raised because the existing SCRIPTED sensor flag only locates objects that have used a substantial amount of CPU time recently, rather than ALL objects with any script in them set to “running”, as someone might reasonably expect when using it; so it is essentially a request for a new flag.
  • BUG-233829 “llSetEnvironment() in neighbouring regions can cause issues with the viewer” –  it has been noted that if llSetEnvironment() (EEP) is set within an adjoining region to one where it is currently being set (and the avatar attempting to set it is registered as a child agent within the ormer region), this can impact attempts within the latter region to change its settings through the EEP options. Whether this means the simulator should be updated so as local environment settings are not sent to child agents, or the viewer should be updated so it does not ask for neighbouring region EEP settings has yet to be determined – as has the time frame for either change to be made.
  • There is a further discussion on llMessageLinked, and the idea of an llMessageListLinked function towards the end of the meeting and script sleep cycles used in llRezObject and llCreateLink. Please refer to the video below for specifics.

† 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 #17 summary

Grand Garden, February 2023 – blog post

The following notes were taken from the Tuesday,  April 25th 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.

Server Deployments

  • On Tuesday, April 25th, the SLS Main channel servers were restarted without any deployment, leaving them on simulator release 579248.
  • On Wednesday, April 26th, simhosts on the Bluesteel RC channel will receive a bugfix maintenance release, highlights of which include:
    • “Fixes in the vicinity of” BUG-232037 “Avatar Online / Offline Status Not Correctly Updating” – although all causes of this issue may not be fully resolved with this update.
    • A fix an issue with avatars colliding with their vehicles on region crossings.
    • Removal of a spurious error message that would pop up on llSetKeyframedMotion.
    • Being able to add UUIDs to the ban list that don’t belong to an agent or group and then being unable to remove them.

Upcoming Simulator Releases

  • It is still hoped to get the server-side support for PBR materials to one (Preflight) or two (Preflight and Snack) RC channels. There is no ETA on this, with both viewer and simulator with LL’s QA team.

Viewer Updates

No official viewer updates at the start of the week, leaving the pipelines as:

  • Release viewer: Maintenance R viewer, version 6.6.10.579060, dated March 28, promoted March 30th.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • Performance Floater / Auto FPS RC viewer updated to version 6.6.11.579629, April 20th.
    • Maintenance T RC viewer, version 6.6.11.579154, April 6th.
    • Maintenance S RC viewer, version 6.6.11.579153, March 31st.
  • Project viewers:
    • PBR Materials project viewer, version 7.0.0.579401, April 10 – This viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
    • Puppetry project viewer, version 6.6.8.576972, December 8, 2022.

In Brief

  • A discussion on llMessageLinked, and the idea of an llMessageListLinked function, starting some 27 minutes into the meeting. To avoid misunderstnadings, please refer to the video below for the full discussion.
  • The above led into a general discussion on possible LSL updates / functions, including the likes of BUG-232312 and BUG-229174 – again, please refer to the video for details.

† 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 #16: SL CCUG meeting summary (abbreviated)

OCWA Experience The Ocean, February 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, April 20th, 2023 at 13:00 SLT. 

These meetings are 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. They are usually chaired by Vir Linden, and dates and times can be obtained from the SL Public Calendar.

Notes:

  • These meetings are conducted in mixed voice and text chat. Participants can use either to make comments / ask or respond to comments, but note that you will need Voice to be enabled to hear responses and comments from the Linden reps and other using it. If you have issues with hearing or following the voice discussions, please inform the Lindens at the meeting.
  • The following is a summary of the key topics discussed in the meeting, and is not intended to be a full transcript of all points raised.

Additional note: unfortunately, my audio recording died whilst saving to disk, leaving me with just the first 10 minutes of audio from the meeting available for playback / summary. Given responses to questions in text are supplied in Voice, it is impossible to provide any reasonable summary beyond the point at which the recording save failed, so this is therefore a very foreshortened report, and not representative of the entire meeting.

Official Viewer Status

The Performance Floater / Auto FPS RC viewer updated to version  6.6.11.579629 on April 20th.

The rest of the official viewers remain as:

  • Release viewer: Maintenance R viewer, version 6.6.10.579060, dated March 28, promoted March 30th.
  • Release channel cohorts:
    • Maintenance T(ranslation) RC viewer, version 6.6.11.579154, April 6th.
    • Maintenance S, version 6.6.11.579153, March 31st.
  • Project viewers:
    • The PBR Materials / reflection probes project viewer, version 7.0.0.579401, April 10th.
    • Puppetry project viewer, version 6.6.8.576972, December 8, 2022.

The Performance Floater / Auto FPS viewer looks set to become the next viewer to be promoted to de facto release status in the coming week.

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.
  • To provide support for reflection probes and cubemap reflections.
  • The overall goal is to provide as much support for the glTF 2.0 specification as possible.
  • 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.
    • It is currently to early to state how this might change when glTF support is expanded to include entire objects.
  • The project viewer is available via the Alternate Viewers page, but will only work on the following regions on Aditi (the Beta grid):  Materials1; Materials Adult and Rumpus Room 1 through 4.
  • Please also see previous CCUG meeting summaries for further background on this project.

Status

  • Viewer:
    • The viewer is now very close to being promoted to Release Candidate status. Issues within the viewer build farm prevented it from getting fully cleared by QA, who are currently taking one more look at it.
    • It is believed that all the significant showstoppers thus far found have been dealt with (although more may show up as a result of it becoming available to a wider audience in RC).
    • The above should include the issue of objects in the camera’s view failing to render unless occlusion culling is disabled and the issues of some mesh items “exploding in the the viewer’s viewer both being fixed.
    • Ton mapping has been updated so there is no longer the ability to change / turn off tone mapping. This has been done in the name of “trying to keep things consistent” with older contents that has tone mapping built-in. This does lead to a few edge cases (such as not being able to get totally pitch black environments), but also fixes some issues around general exposure (e.g. preventing full bright objects changing brightness depending on camera distance).
    • It is likely that the work on exposures will eventually be fed into the snapshot tool, so photographers can adjust the exposure settings for them pictures.
    • There is still a collection of minor issues / bugs still to be resolved – such as getting parity some some of the current sky settings – which will be dealt with in RC as the viewer progresses.
    • Those who do find significant issues in using the viewer in RC are asked to report them via a BUG report ASAP.
  • When the view does go to RC, it is likely the server-side support will be deployed to one (Preflight) or possibly two (Preflight and Snack) small simulator RC channels to allow for testing on Agni (the Main grid). Details of the available regions will be published in my project summaries as and when available.

Future glTF Work

  • There is an internal (to LL) design document in development which is intended to set-out the next steps in the glTF work; however, this is not currently ready for public release.
  • Past indicators have been that it is possible the near-term work for glTF could include planar mirrors (with some controls around their use) and also glTF mesh uploads.

Next Meeting

  • Thursday, May 4th, 2023.

† 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 #16 summary

Burrow Wood County, February 2023 – blog post† 

The following notes were taken from the Tuesday,  April 18th 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.

Server Deployments

  • On Tuesday, April 18th, the SLS Main channel servers were updated with simulator release 579248, previously deployed to the RC channels. This means the doubling of linkset data memory (to 128KB) and the three LSL functions for strided list management – llList2ListSlice(), llSortListStrided(), and llListFindListStrided() – are now grid-wide.
  • On Wednesday, April 19th, simhosts on the RC channels will be restarted, but there will not be any new deployments to them.

Upcoming Simulator Releases

  • It is still hoped to get the server-side support for PBR materials to at least one RC channel – Preflight, with the potential it might also go to Snack as well – but there was no ETA on this at the time of the meeting. Currently, it remains with LL’s QA team.

Viewer Updates

No official viewer updates at the start of the week, leaving the pipelines as:

  • Release viewer: Maintenance R viewer, version 6.6.10.579060, dated March 28, promoted March 30th.
  • Release channel cohorts (please see my notes on manually installing RC viewer versions if you wish to install any release candidate(s) yourself).
    • Maintenance T RC viewer, version 6.6.11.579154, April 6th.
    • Performance Floater / Auto FPS RC viewer updated to version 6.6.11.579238, April 4th.
    • Maintenance S RC viewer, version 6.6.11.579153, March 31st.
  • Project viewers:
    • PBR Materials project viewer, version 7.0.0.579401, April 10 – This viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
    • Puppetry project viewer, version 6.6.8.576972, December 8, 2022.

In Brief

  • llGetAgentInfo received a new flag – AGENT_AUTOMATED – in week #15, however, the simulator side has et to be released; it is currently in a maintenance simulator support which may go to QA for testing in week #17.
    • This raised concerns of whether or not llGetAgentInfo was the right place for this flag, and whether it could result in the dataserver being spammed with requests from people wanting to know if visitors to their land were avatars or scripted agents. However, as Rider Linden pointed out, the simulator already has information on scripted agent, so there is no requirement for the simulator to query the dataserver.
    • See the video for the broader discussion on when the flag for a scripted agent is propagated across the grid.
  • There was a general discussion on possible LSL enhancements. This included:
    • Possible improvements to notecard handling by LSL (e.g. searching notecards – e.g. BUG-4906 -, faster notecard reading, a safe means of sending back the contents of a notecard so a script doesn’t need to build a web page on the fly / read the entire contents of the notecard into memory).
    • HTTP response expansion.
  • Objects rezzing objects: it has been noted that if an object is set to rez other objects (e.g. say a “crate dispenser” which might be used as a visual enhancement to Get The Freight Out to simulate cargo loading), the rezzing tends to work perfectly when the rezzing object’s owner is present, but can experience issues when the owner is not present.
    • This tends to occur if rezzing within the land is restricted to Group membership, and object owner did not correctly set their active group prior to placing out the rezzing object.
    • As the owner’s group is checked when present, this allows the rezzer to work correctly, hence why the problem only surfaces when they are absent.
  • For all other discussions, please refer to the view below.

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