Gothbrooke Forest, January 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, March 16th, 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 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.
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.
The PBR Materials project viewer updated to version 7.0.0.578792, on March 15th 2023. Note that this viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
Texture handling / management:
As a result of data gathered by the Lab revealing a lot of users only have around 1 GB of texture memory, Dave P (Runitai Linden) has been making another pass through texture handling to making loading faster and memory use more efficient.
VRAM management has been improved to more selectively release texture memory on systems which might otherwise “run low” on available VRAM.
The hope is these will reduce texture trhashing issues (texture blurring, clearing, blurring, clearing) in the future for those so affected.
Geenz Linden continues to work on the Mac side of the PBR work; Comic Linden is finalising UV treatment and Bed Linden is working on the one remaining server-side bug the team is aware of and is working on atmospherics and issues with rendering them in linear space.
Brad Linden is working on a series of bugs in PBR materials handling where editing via LSL or manually sees the updates (changes) dropped rather than applied in various edge-cases and situations.
The simulator-side fixes for this issues are in place; fixes within the viewer are awaiting inclusion in a upcoming viewer update.
In Brief
glTF format for geometry (mesh), animations, etc., this is something the Lab does want to do, but will take the form of follow-on project(s) from the current glTF PBR materials work.
supporting glTF geometry imports is seen as a major project as it will likely require handling of arbitrary hierarchies, which is not something SL currently handles – although it is acknowledged that once done, will offer a lot of benefits.
There was a general discussion on terrain improvements. This is something that LL had been considering, but content creators attending the CCUG meeting favoured the PBR work and graphics updates, so the terrtain updates have just to be put back onto the road map. Where it would slot, is not clear, as the desire from creators is to see the glTF work continue with geometry import support, etc., as noted above.
Another major graphic project waiting in the wings is the introduction of support for the Vulkan graphics API / MoltenVK (for Mac). This would likely take priority over any significant terrain work.
Cloud Edge, January 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, March 2nd, 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 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 Viewers Summary
The PBR Materials project viewer updated to version 7.0.0.578526, on March 3rd, 2023. Note that this viewer will only function on the following Aditi (beta grid) regions: Materials1; Materials Adult and Rumpus Room 1 through 4.
Available Viewers
Release viewer: Maintenance Q(uality) viewer, version 6.6.9.577968 Thursday, February 2, 2023.
Maintenance S RC viewer, version 6.6.10.578270, issued February 24 2023.
Performance Floater / Auto FPS RC viewer updated to version 6.6.10.578172, February 21, 2023.
Project viewers:
Puppetry project viewer, version 6.6.8.576972, December 8, 2022.
General Viewer Notes
The Maintenance R and the Performance Improvements / Auto-FPS RC viewers are both now apparently in line for promotion to de facto release status, although both may go through further RC updates prior to being promoted.
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.
Tone mapping: work is progressing on implementing the Krzysztof Narkowicz variant of ACES tone mapping, which should – depending on the monitor being used / viewer preferences set – produce better graphical results. As the result can vary by monitor / eye, this will include both an exposure slider and an option to disable the option.
Geenz Linden is working on the Mac side of the PBR work; Comic Linden is finalising UV treatment and Bed Linden is working on the one remaining server-side bug the team is aware of and Dave P (Runitai Linden) is working on atmospherics and issues with rendering them in linear space.
Linear space alpha blending: there are still issues with this, particularly at either end of the scale (high colours / high transparency and low colours / low transparency). This is being worked on, but may end up with a debug setting to disable linear space alpha blending by those who need to, with a warning that this is not how scenes are intended to be viewed.
A scene imported by Nagachief Darkstone and WindowsCE to demonstrate reflection probes (note the reflections on the knight’s armour – these are not generated by attached environment lights but by a reflection probe within the building structure. Image courtesy of Rye Cogtail
In Brief
It now looks as if the move away from the OpenGL API will be to Vulkan for Windows (/Linux?) and MoltenVK for Mac.
LL is interested in implementing something similar to the Firestorm Local Mesh capability by Beq Janus and Vaalith Jinn (see here and here for more), possibly as a result of a code contribution.
Land Impact:
Some creators are using the Animesh checkbox on upload to try to get around large mesh objects having heavy Land Impact values. LL gave notice at the meeting that this is regarded as an exploit, and it will be patched – so those doing so should really cease in order to avoid people facing unplanned object returns when their parcel start reporting they are over capacity.
In terms of Land Impact overall, it was acknowledged that while updated to allow for mesh, etc., the formula does still have some shortfalls; however, redressing this would require work which also involves bandwidth and server memory, and is not currently on the cards.
It is hoped that the move to support glTF mesh imports will offer a means to address LOD issues and Land Impact, as it will bring with it a fundamental shift in the data model
Cull distance volumes: one way to reduce the render load on a system is to have cull distance volumes. The PBR reflection probes are being seen by LL as a means to test data gathering which can eventually be used in cull distance volumes (e.g. so you can set-up a volume inside a room and have it so that the viewer does not start rendering anything within that room until a camera is within X metres of the room).
This could potentially make Land Impact more dynamic in terms of content streaming costs, based on the use of cull volumes / camera position.
It could also be used to assist in privacy matters (e.g. “don’t render what’s in this room unless people are in this room”).
Under the Northern Lights, December 2022 – 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, February 16th 2023 at 13:00 SLT.
My chat transcript and the video recording of the Friday, February 17th TPV Developer’s meeting, recorded by Pantera Północy and embedded at the end of this article. My thanks, as always, to her for recording these meetings.
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 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 Viewers Summary
Available Viewers
The have been no further updates to the currently available official viewers sine the PBR materials viewer was updated at the start of the week, as reported in my week #7 SUG meeting summary. Therefore the pipelines remain as follows:
Release viewer: Maintenance Q(uality) viewer, version 6.6.9.577968 Thursday, February 2, 2023.
Performance Floater / Auto-FPS RC viewer, version 6.6.9.577251, January 4, 2023.
Project viewers:
PBR Materials project viewer, version 7.0.0.578161, February 14, 2023. 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.
General Viewer Notes
It is hoped that the Performance Floater RC viewer will be promoted to de facto release status within the week, which would allow all official viewers to leverage Visual Studio 2022 on Windows builds going forward.
There are some changes to be made to github due to all the pull requests (PRs) going to branches which can change over time, causing issues as they do so. In the future, it is likely that PRs will go into the Main branch (which only changes on a per release basis) and from their moved into their intended branch.
CCUG – 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.
A major new bug is the discovery that the UV treatment is off-specification. This appears to be due to OpenGL putting the 0,0 coordinate in the lower left corner of the image rather than the top left. This does mean that all PBR materials uploaded to Aditi (the beta grid) prior to the fix going into the viewer will effectively be “broken” post-fix. Viewer:
The lighting model for water in the project viewer has been updated to use the glTF specification lighting model for water so that reflection probes can be used to generate reflections on water. However, trying to adapt the “old” water shader to use the glTF lighting model is proving difficult, due the “bonkers” way things like fresnel offset and scale have been implemented. This issue is to be addressed.
It is believed that most existing content should render reasonably faithfully under the PBR / glTF, with the exception of the known issue of alpha blending on colour curves. Runitai Linden has a couple more ideas how this might be improved, but overall, it might come down to having to explain that the colour space is changing for glTF, and as a result some alpha blended content will need to be adjusted in order to render correctly.
As Advanced Lightning Model (ALM) will be enabled all the time in the PBR viewer (the Forward renderer will be disabled), the viewer’s quality settings are being updated so that Shadows will be disabled by default across a much wider range of settings, as these are what causes the significant performance hit when ALM in enabled, rather than ALM itself (but Shadows can still obviously be manually enabled).
This viewer also causes instrumentation regressions within the Performance Floater viewer, which will likely be addressed when the code is ready to be merged with the release version of the viewer. .
It is hoped that the simulator-side support can be deployed to an RC on the Main grid (Agni) in the near future in order to further advance viewer testing as that moves from project to RC status as well.
CCUG – Mirrors(!)
The “very next thing” LL plans to implement after PBR Materials reaches Release Candidate status is – mirrors!
These will be planar mirrors, so best suited to flat surfaces such as the face of a cube, rather than curved or spherical surfaces.
Mirrors will effectively be a real-time 1:1 rendering of what is seen within the scene that is being reflected, but with some limitations to cater for performance. Those limitations / controls under discussion at the Lab include:
The mirror effect will only be generated in viewers that are very close to it.
Perhaps limiting the number of mirrors which can be active within a viewer to just one per scene (so if there are two mirrors close by your avatar, only one will be active at a time). Or allowing user select the number of mirrors they wish see “working” at any given time.
Adding a viewer Preferences option to enable / disable mirrors, depending on the user’s needs.
Nevertheless, even with precautions such as the above, there will be a performance impact in having real-time mirrors active in the viewer.
Mirrors will likely support LSL control over them.
It is already being recommended that mirror surfaces are only used as mirrors, not as a means of generating “reflections” in general – which should be left to reflection probes / cube maps.
It is hoped that the way the mechanism for rendering reflections onto a mirror surface would use the same channels as reflection probes – so when the mirror is seen from a distance, it uses the reflection rendering based on the local reflection probes, but when approached, the reflection probe rendering would fade out, and the real-time planar mirror reflection rendering would fade in.
That said, precisely HOW real-time mirrors will work is still subject to discussion and planning: at the moment, the focus has been only considering time in terms of ensuring the PBR work does not block opportunities for adding real-time reflections, and that they will play nicely with the PBR Materials work when they are being developed.
CCUG – Avatars / New Start Avatars / Ecosystem
A question was raised about the upcoming new mesh starter avatars previewed at SL19B in June2022. These have yet to be releases, and are not intended to compete with existing mesh avatars, also LL hopes creators will help develop an ecosystem in support for the avatars as the devkits for them are released – there is no confirmed release date for the avatars.
The above lead to a general discussion on the learning curves involved in getting to grips with avatar bodies and heads, trying to math heads to bodies, etc., the need for more discussions on avatar capabilities, helping people understand the avatar content creation process so they can join the ecosystem, etc.
The was an agreement that more discussion on avatar-related content creation, real and perceived limitations on the avatar system – particularly rigging clothing and attachments and the reliance on additional toolsets (e.g. AvaStar MayaStar, etc.), issues of supporting information available through the SL Wiki / Knowledge Base, etc. See In Brief for more on discussions / potential new meetings.
There are internal discussions going on at the Lab concerning avatar physics, enabling the simulator to “know” more bout the avatar, how it is being animated, having the simulator-side physics engine fully recognise the avatar body as a physical object (rather than just a simplified capsule), etc., via the likes of the Puppetry project and elsewhere, but solutions are still TBD.
In Brief
CCUG: Alpha blending issues on avatars – there was a general discussion on alpha stacking/ordering and blending issues, with Beq Janus’ blog post on the subject relating to avatars / outfits being referenced as a good primer on the issue and steps to mitigate problems.
TPVD: work is continuing on the Inventory thumbnails work, but nothing ready for any form of public release.
TPVD: it has been suggested that LL might want to add code to the new Group Chat History functionality to indicate the end of historic Group chat within a Group chat tab / panel, as people appear to be getting confused as to why they are opening Group chat to find past conversations displayed (due to word about the new functionality taking time to spread).
TPVD: concern was raised that the allowance of lossless Normal Map under PBR will lead to a lot of abuse with people using it to upload lossless textures as well, which it was feared would hit people’s VRAM. Runitai pointed out that lossless does not necessarily hit VRAM, but does impact caching and bandwidth. This sparked a general conversation on textures, resolution, quality, etc. However, the risk of people abusing the upload was acknowledged, and store will be monitored for unexpected spike in usage after the release of PBR.
TPVD: a discussion on viewer development as support for AAA game-style rendering. Please refer to the video for details,
Both meetings: user on-boarding – at both the CCUG and the TPVD meeting it was suggested that there needs to be a regular user group meeting to discuss user on-boarding, engagement and retention and how to address these on an ongoing basis.
This led to a lengthy discussion on the issues of engagement + retention which illustrated one of the core issues in just discussing it: everyone has a different opinion on what “the problem” is with engagement / retention. Some see it as primarily being an expense issue (the cost of creating a good-looking avatar); some see it as people being unable to find interesting this to do; some see it as being performance / hardware / overall appearance of SL.
The problem with the above is (and as demonstrated at the TPVD meeting particularly) it can lead to very siloed outlooks where disagreements as to “the problem” become the focus of conversations, rather than agreement that all of these issues can play a role, and as such, solutions need to be perhaps more “holistic” in nature and encompassing all of the perceived pain points.
It has been suggested that an upcoming CCUG or TPVD meeting could be utilised as a kick-off session for broader discussions about on-boarding, etc.
Jitters Coffee Shop, Heterocera – December 2022 – 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, January 19th 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, and are chaired by Vir Linden. 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 Viewers Summary
Available Viewers
On Thursday, February 2nd, 2023:
The Maintenance Q(uality) viewer, version 6.6.9.577968 was promoted to de facto release status.
The PBR Materials project viewer updated to version 7.0.0.577997.
On Friday, February 3rd, 2023 the Maintenace R RC viewer updated to version 6.6.10.578087 – translation updates and the return of slam bits.
The remaining official viewer pipelines are unchanged, as follows:
Performance Floater / Auto-FPS RC viewer, version 6.6.9.577251, January 4, 2023.
Project viewers:
7.0.0.577780, January 25, 2023 – 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.
General Viewer Notes
It is believed the next viewer due for promotion will be the Performance Floater / Auto FPS viewer, at which point all viewer releases will officially all be based on VS 2022 for Windows, as this is the first RC viewer merged with the VS 2022 release process (previously a separate viewer build fork).
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.
The latest update to the viewer includes improvements to probe light blending (e.g. between overlapping manually-placed probes), additional work on radiance and irradiance, and the resolution quality of reflections set back up to 256×256 per face (but will downgrade to 128×128 if the viewer has less than 2 GB of available VRAM). All of this should leave the visual quality of reflection probes “pretty close” to what will be seen in the RC / release version of the viewer.
However, there is still a hard transition line between line between overlapping automatic probes and manually place probes, and LL want to encourage those using probes to use full scene manually-placed probes to ensure a much better quality of reflections.
Automatically-placed probes have had parallax correction removed, this should prevent the issue of people seeing the ray traced sphere of the probe rather than the reflection of the environment. Parallax correction is now only available with manually-placed probes.
Screen Space Reflections (SSR) have also been integrated with the reflection probes so that when the viewer does a look-up on a reflection probe and SSR in enabled, if there is an available SSR that gives a better result than the (generally automatic) reflection probe’s sample, it will be used instead.
In addition, there has been further work on optimisation and frame rate smoothing.
Still to be addressed in the viewer:
Some general artefacts still requiring clean-up, notably water reflections / light speckling, objects being rotated in reflections, and some remaining issues with colour curves on HUD attachments.
Further UI work.
There are some glTF materials caching issues which have yet to be addressed.
LL is in the process of finalising compliance with the glTF standards. This does not impact viewer and glTF testing on Aditi (the beta grid), but will require updates to the viewer which are likely to come into force during RC / beta testing, meaning that only the updated viewer should be used from that point forward. However, it should not impact / alter overall functionality within the viewer.
This is the result of an incorrect assumption being made about some of the data required by the glTF specification would “always be there”, when in fact the filtering process LL uses to ensure glTF files uploaded do not contain anything malicious was dropping some of that data (so the visuals were correct, but the data was “wrong” compared to the standard).
In an effort to have media on a prim work on glTF materials in a similar manner to the current SL materials (where setting a face to media on an object overwrites the diffuse (texture) map), setting media on a PBR materials face will overwrite both the diffuse and emissive maps, whilst sill allowing media to be viewed on a shiny surface, et., as per the current behaviour.
There is concern about the impact of allowing “double-sided” materials as a part of glTF PBR (e.g. the risk of over-use, potential performance impacts, etc.).
LL acknowledged that a lot of samples they’ve tested from Sketchfab do contain a a lot of “unnecessary” double-sided surfaces, and so are considering implementing a check and warning on import where this occurs.
There is currently a checkbox for enabling / disabling double-sided materials in the PBR viewer’s materials editor, but LL’s view is that allowing double-sided content is not going to “ruin SL forever” – a view not necessarily shared by some creators.
Vulkan
It is possible that 2023 will see the resumption of work to add support for the Vulkan / MoltenVK (for OS X) API alongside of OpenGL, as the latter is both growing increasingly long in the tooth and is gradually being deprecated / no longer used / supported on a number of fronts.
Within LL, it is believed that implementing this support will not only get SL past the issue of OpenGL’s status, but also offer performance improvements within the viewer (e.g. allowing SL to be less CPU-bound and make more use of the GPU, reducing the volume of draw calls, etc.).
In Brief
LL have been experimenting with pulling purchased content using glTF materials from Sketchfab and importing it to SL. The process is not easy, and it is acknowledge more work needs to be done to smooth this out at some point in the future – it will not be improved before the current project moves to a release status.
This raised the question of licensing, rights, mesh uploads to SL and the Terms of Service, with a not from LL that this likely needs to be reviewed as a whole, and guidelines provided to specify requirements for uploading content purchased by / built via 3rd party sites and things like license compliance (together the the need for LL to determine the means of gatekeeping things like license compliance).
Routes to upload from the likes of Sketchfab would be beneficial, as it would mean creators used to building for those platforms could pull their content into SL without having to learn a further (esoteric) set of content creation requirements.
There was a general discussion on texture compression with glTF (which remains in place for all maps other than normal map, where compressed lossless is viewed as important), and on glTF allowing backward-facing normal maps (unsupported with the current SL materials system), and possible problems / benefits these might lead to.
In terms of which parts of the glTF specification SL is supporting, LL will likely produce a living document that will detail the initial support, and which will be updated when further support is added / certified by Khronos.
For future work, it appears at present that supporting glTF mesh imports would take priority over implementing glTF materials extensions from the specification.
Related to the above point, discussions are in progress within LL on how to continue to support COLLADA (.DAE) mesh imports into SL without actively supporting COLLADA format.
Reasons for sunsetting direct COLLADA import to SL include: there are still a lot of traps creators can fall into with the SL implementation of COLLADA support which can be a barrier to entry for those wishing to engage in SL as creators (similar traps do not exist within the glTF standard); maintaining the COLLADA importer adds cost and overheads, as every importer update has to be tested against it and adjustments made where they break COLLADA uploads.
One option under consideration is the use of the Open Asset Import Library (Assimp). This acts an an intermediary (so .DAE files get converted to the glTF mesh format), allowing a route of upload for COLLADA file to SL without LL having to maintain the COLLADA import mechanism directly, reducing the overheads of having to both test against it and maintain COOLADA import support.
This route would also allow other mesh formats (e.g. .FBX) to be “supported”, with the glTF specification support document mentioned above, available for creators to check which elements within the glTF specification they may need to add in order to get a like-for-like between their build format (.DAE. .FBX, etc.), and glTF.
Concern was raised about what the removal of direct COLLADA import might do the the market for full permission .DAE files which can be purchased through the SL Marketplace for upload to SL (although it is not clear how big this market is).
It is hoped that any approach taken would offer at least a robust a means of importing COLLDA meshes as the current importer.
Also under internal discussion is how to support hierarchies in the context of glTF assets and what that means (e.g. import an asset with a node graph hierarchy, attach it to a mesh, and then manipulate the hierarchy via the edit tools or LSL).
Where Our Journey Begins, November 2022 – 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, January 19th 2023 at 13:00 SLT.
Pantera’s video of the Third Part Viewer Developer (TPVD) meeting held on Friday, January 20th, 2023 at 13:00 SLT, embedded at the end of this article.
These meetings are chaired by Vir Linden, and their dates and times can be obtained from the SL Public Calendar; also note that the following is a summary of the key topics discussed in the meetings and is not intended to be a full transcript of all points raised.
Note, The TPVD meeting was abbreviated to 20 mins.
Official Viewers Status – TPV Meeting
Available Viewers
On Thursday, January 19th, 2023, the Maintenance R RC viewer was updated to version 6.6.9.577678 – translation updates and the return of slam bits.
On Wednesday, January18th, 2023:
The Maintenance (Q)uality RC viewer was updated to version on 6.6.9.577581 – new Debug settings UI, quality of life improvements.
The PBR Materials project viewer updated to version 7.0.0.577610, on January 19, 2023 – SSR support.
This viewer has been reported as “broken” when running on systems with AMD GPUs, a situation that was being investigation as these notes were being written.
This leaves the rest of the currently-available official viewer as:
Release viewer: Maintenance P (Preferences, Position and Paste) RC viewer version 6.6.8.576863 Monday, December 12, 2022.
Release Candidate viewers:
Performance Floater / Auto-FPS RC viewer, version 6.6.9.577251, January 4, 2023.
Project viewers:
Puppetry project viewer, version 6.6.8.576972, December 8, 2022.
General Viewer Notes
Vir pointed out that as Microsoft has ended support for Windows 8 on January 10th, 2023, it is no longer regarded as a supported operating system for running Second Life, and the viewer will not be tested against it (and the System Requirements page has been updated to reflect this, specifying Windows 10+ most recent service pack as the baseline supported Windows OS.
The second phase of the Github work in on-going, notably updating all the viewer build libraries.
Inventory Enhancement Project – Both Meetings
Linden Lab is looking to enhance the Inventory system.
The first element of this work is to be the addition of a fixed-resolution thumbnail preview capability, allowing users to see a small image of a given object (where this makes sense – so the likes of note cards and scripts would be excluded) within inventory, with these thumbnails either being of individual items or entire folders.
This work has now started, but it will be “some time” before there is anything user-facing to show.
A code contribution from Kitty Barnett (Catznip) for an inventory texture tool tip / preview may well be folded in to this work.
Once the thumbnail preview work has been completed, it is possible the Lab will look to further enhancements to inventory management. One future enhancement under consideration is support for folders to be included in the Contents inventory of individual objects.
glTF Materials and Reflection Probes – CCUG
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.
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.
Screen Space Reflections (SSR) has now been integrated into the Project Viewer, (January 19th onwards), although work around this is still being finalised, notably mixed Reflection Probes with SSR.
Some fixing is required to the default colour curves in the viewer.
Stability issues have been noted on Intel integrated graphics hardware, and these are being investigated / fixed.
There have now been a total of two further weeks focused on optimising the viewer’s performance, and the results of this work should be available in the next update to the Project Viewer.
UI updates: the viewer will likely see some UI updates as it progresses:
The next update will likely include a new dedicated icon for on the Build floater for creating Reflection Probes.
The drop-down in the Build floater Textures tab (Currently Materials and Media on the release viewer, may be re-labelled for PBR (where it is Materials, Media, PBR) to more clearly differentiate between the current materials maps system and “new”” PBR materials.
Similarly, the new Materials Inventory folder in the Project Viewer may also be renamed to avoid the potential for confusion between the use of PBR materials assets and the current materials maps system.
Further, the menu option Build → Upload → Materials (in the Project Viewer) may be reamed to more clearly reflect it is for PBR materials, not material maps.
Exactly was terms will be used is TBD, but the general push (from LL’s perspective is to use meaningful lbeels on options and menus which can be Googled with some relevance by those wanting to know more about the underpinning file formats / standards, etc.
Work is going into messaging between the back-end and the viewer to ensure it will scale once the viewer starts to see widespread use.
In Brief
As the PBR Materials project is approaching a possible RC release, the questions has been asked as to what is next on the graphics front. While no formal decision has been made, options include:
A return to looking at adding something like Vulkan / MoltenVK (for OS X) API support alongside of the OpenGL API (which has been slated for deprecation by Apple and is growing increasingly long in the tooth). This work is being looked at more as a performance optimisation rather than a visual boost to rendering (e.g. allowing SL to be less CPU-bound and make more use of the GPU, reducing the volume of draw calls, etc.).
Further expansion of the glTF work to include mesh (and moving away from Collada .DAE), animations, etc. But again, no definitive plans / direction has been agreed within the Lab.
While there is a appetite at the Lab to support as much as the glTF 2.0 specification, some aspects will be excluded from the list – mentioned at the meeting were Setting the filter mode and sampler state of textures, both of which were described as “problematic” for implementation within SL.
Overhauling / updating support / options for ground textures.
The CCUG meeting saw a general discussion on animations, the skeleton and all that it involves (bones, attachment points, collision volumes, rigging, etc., and the rules / policies surrounding them, couched initially in the potential for expanding the skeleton / avatar system – for which there are currently no plans to do so beyond what has already been done.
Pivot points: (related to the above) past CCUG meeting saw some extended discussion on implementing pivot points on the skeleton, and LL indicated they would investigate this. Since then, it has become increasingly apparent that a node hierarchy would be beneficial and potentially easier to implement; ergo pivot points have been pulled into the pot for a future hierarchy project.
There is a known bug where Premium Plus users – who gain free texture uploads – are being charged for textures included in mesh uploads. An upcoming simulator-side maintenance update should correct this.
A request was made at the CCUG meeting to allow mesh uploads greater than the 64m single object size limit, to make it easier to import large structures / scenes without having to curt them into sections (and thus avoid potential issues in fit, scale, update, etc, and can result in Interest List related rendering issues).
LL is unlikely to change the limit, but would prefer to provide improved tools that can help content creators / scene builders.
One should tool discussed – which is currently not in development – is that of a “scene view” tool which identifies every individual instance of an object in scene, and provides a mechanism to allow (subject to permissions, obviously) them to be swapped-out to fix things like “broken” items / those for which there is an update / replacement.
Mullein Woods, November 2022 – blog post
The following notes were taken from m y audio recording and chat log transcript of the Content Creation User Group (CCUG) meeting held on Thursday, January 5th 2023 at 13:00 SLT.
These meetings are chaired by Vir Linden, and their dates and times can be obtained from the SL Public Calendar; also note that 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 Viewers Status
On Wednesday, January 4th, 2023:
The Maintenance Q(uality) RC viewer updated to version 6.6.9.577418.
The Performance Floater / Auto-FPS RC viewer updated to version 6.6.9.577251.
Both the VS 2022 Build RC viewer and the LMR6 project viewer have been withdrawn.
This leaves the rest of the currently-available official viewer as:
Release viewer: Maintenance P (Preferences, Position and Paste) RC viewer version 6.6.8.576863 Monday, December 12, 2022.
Project viewers:
PBR Materials project viewer, version 7.0.0.577157, December 14, 2022. Note: 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.
Inventory Enhancement Project
Linden Lab is looking to enhance the Inventory system.
The first element of this work is to be the addition of a fixed-resolution thumbnail preview capability, allowing users to see a small image of a given object (where this makes sense – so the likes of note cards and scripts would be excluded) within inventory, with these thumbnails either being of individual items or entire folders.
The first phase of the work is determining how to generate the thumbnail images and ensure they maintain an association with the objects to which they are related (e.g. so if an item is sold or transferred to another user, the thumbnail goes with it).
Once this has been decided, the next phase will be to build-out the UI so that such thumbnails can be viewed from inventory.
This work will not replace the Outfit Folder image capability nor will it prevent creators from including high resolution images with their products if they wish.
Once the thumbnail preview work has been completed, it is possible the Lab will look to further enhancements to inventory management. One future enhancement under consideration is support for folders to be included in the Contents inventory of individual objects.
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.
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.
The focus remains on bug and regression issue fixing within the viewer and quality of life improvements, particularly as in wider grid testing, it has been found the PBR viewer can only generate single-digit FPS in some regions.
Screen Space Reflections (SSR): Geenz Linden continues to work on integrating SSR into the PBR viewer, but is encountering issues.
Animation System Enhancements – A Discussion
In response to requests for the animation system to be improved (e.g. via CCUG meetings, as a result of the Puppetry project, etc.), Vir Linden asked those at the meeting to state what they see as the most important changes / updates they would like to see. Responses included those expressed at the Server User Group meeting earlier in the week:
A procedural animation system to allow creators / users to set the rules of how avatars walk, run, jump; their timings, how animations play priority wise and mixing wise in the series, all able to be packaged up into an item – it has been suggested that whilst “old” the SL is well-placed to be folded into a procedural animation system.
Improved animation formats and easier means of animation import into Second Life.
The ability to dynamically set animation priorities for more fluid animation integration (e.g. when you are holding and pointing a gun, you continue to point it as you walk, rather than the avatar’s arm dropping to a walking animation when moving).
Viewer-side animation editor.
Better support for inverse kinematics.
Collaboration between the Puppetry team, the glTF team and any animation project to ensure consistency of decision-making about formats, proper LSL support / calls, etc.
This discussion covered a lot of ground, including the potential for the implementation of an “animation 2.0” system which could potentially operate alongside the existing system (much like PBR materials and “legacy” materials); the benefits in greater adherence to emerging standards – particularly in the area of avatar / skeleton formats and capabilities, and the fact that SL is both well-placed to be a part of defining those standards whilst also being hamper by the fact the existing SL avatar format is a niche product / approach, and more. However, the two key points of the discussion might be summarised as:
Changes to the animation / avatar systems are not projects the Lab is working on at present.
However, the it demonstrates that, as with recent projects, the Lab is looking seriously at enhancing SL and moving it towards more readily understood standards. As such, it is taking the time to ascertain options that are exciting to creators an users and which might be seen s benefiting the platform and its future growth, and so might be formalised into active projects – and include user engagement where appropriate in their development.
In terms of what might be attempted by way of “small-scale” improvements to the animation system, the viewpoint from LL is that the ability to dynamically set animation priorities and adding scaling support to the animation format are seen as providing users / creators with recognisable benefits.