2020 Content Creation User Group week #8 summary

Catena et Cavea, January 2020 – blog post

The following notes were taken from my audio recording of the Content Creation User Group (CCUG) meeting held on Thursday, February 20th 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are available on the Content Creation User Group wiki page.

Environment Enhancement Project

Project Summary

A set of environmental enhancements (e.g. the sky, sun, moon, clouds, and water settings) to be set region or parcel level, with support for up to 7 days per cycle and sky environments set by altitude. It uses a new set of inventory assets (Sky, Water, Day), and includes the ability to use custom Sun, Moon and cloud textures. The assets can be stored in inventory and traded through the Marketplace / exchanged with others, and can additionally be used in experiences.

Resources

Current Status

  • Work is continuing to clear the remaining rendering bugs, which are being described as “resilient”.
  • The hope is EEP could be ready to move forward by the end of the month.
  • There is a backlog of potential fixes / enhancements for EEP (e.g. further rendering improvements, improving the brightness of stars, etc). Some of these will form future EEP enhancements, others may be dealt with as part of other work such as on-going rendering system improvements, rather than being held for a future EEP-specifc project”.

ARCTan

Project Summary

An attempt to re-evaluate object and avatar rendering costs to make them more reflective of the actual impact of rendering both. The overall aim is to try to correct some inherent negative incentives for creating optimised content (e.g. with regards to generating LOD models with mesh), and to update the calculations to reflect current resource constraints, rather than basing them on outdated constraints (e.g. graphics systems, network capabilities, etc).

As of January 2020 ARCTan has effectively been split:

  • Immediate viewer-side changes, primarily focused on revising the Avatar Rendering Cost (ARC) calculations and providing additional viewer UI so that people can better visibility and control to seeing complexity. This work can essentially be broken down as:
    • Collect data.
    • Update ARC function.
    • Design and provide tool within the viewer UI (i.e. not a pop-up) that presents ARC information in a usable manner and lets users make decisions about rendering / performance.
  • Work on providing in-world object rendering costs (LOD models, etc.) which might affect Land Impact will be handled as a later tranche of project work, after the avatar work.
  • The belief is that “good” avatar ARC values can likely be used as a computational base for these rendering calculations.

Current Status

  • Vir is still working on the Bake Service issue I’ve noted in my last two CCUG updates. However, he believes he now has a fix, and this is currently going through internal testing.
  • One thing that ARCTan testing has shown is the degree of variability in frame rates in terms of how long each frame takes to process. Part of this might be due to multiple operations running in the same thread when they should perhaps be separated into their own threads, particularly in terms of avatar loading.

Project Muscadine

Project Summary

  • Currently: offering the means to change an Animesh size parameters via LSL.

Current Status

  • Still on hold, but the Aditi simhost that did have the back-end code has also been re-purposed for other project work, so the back-end support for Muscadine is currently unavailable.

In Brief

  • Viewer caching project: this has been a long-term project, which has recently re-started (and which is usually a subject for discussion at the TPVD meetings).
    • There is code related to the VFS caching (referenced in the message seen at viewer-start up) the in in-memory processes that sit on top of it that has not been updated in a long while and which can give rise to stability issues.
    • The Lab now plans to work on this code “extensively” over the next few months.
  • There are claims that use of Animesh impacts simulator performance. As Animesh is predominantly a viewer-side capability, it is hard to see how it could impact simulator performance; it is possible that those experiencing issues could be conflating viewer and simulator performance.
  • Poser project: a contribution from the Black Dragon viewer, this is a project that is currently on hold.
    • The idea is to allow local (i.e. viewer side) joint-by-joint poses by entering different values for each of the required positions and rotations for a joint.
    • The fact that the tool is viewer-side with the results unseen by other users has been seen by the Lab as the project’s core limitation.
    • The Lab’s view is that the easiest way to share the results would be to place them in a single frame animation that puts the avatar into the required pose and which can be seen by other viewers, and this would like be the approach taken when / if the project is resumed.
    • This work has nothing to do with the pupeeteering project from 2011.
  • A further project awaiting resumption is the move to HTTP 2, which will hopefully improve things like asset data fetching, offer improved stability in data handling and improve scene loading.
  • Tidbit: the mesh uploader for Second Life apparently took around 10 people over 2 years to develop / get to work (and still has a UI element that might be incomprehensible to some). As such there is some concern at the Lab that attempt to extend SL to support other modelling formats (e.g. FBX) could result in something equally / more confusing – although this is not to suggest LL is resolutely against supporting other file formats for use with SL.

2020 Content Creation User Group week #6 summary

The Rusty Nail, December 2019 – blog post

The following notes were taken from my audio recording of the Content Creation User Group (CCUG) meeting held on Thursday, February 6th 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are available on the Content Creation User Group wiki page.

Note: this meeting was called at short order after the the usual start-of-month Linden Lab internal All Hands meeting was delayed a week. This means that a) the meeting was slightly shorter than usual; b) there will not be a CCUG meeting on Thursday, February 13th.

Environment Enhancement Project

Project Summary

A set of environmental enhancements (e.g. the sky, sun, moon, clouds, and water settings) to be set region or parcel level, with support for up to 7 days per cycle and sky environments set by altitude. It uses a new set of inventory assets (Sky, Water, Day), and includes the ability to use custom Sun, Moon and cloud textures. The assets can be stored in inventory and traded through the Marketplace / exchanged with others, and can additionally be used in experiences.

Resources

Current Status

  • EEP is now in burn-down mode – which means more bugs are being fixed than are being reported.
  • Again, as this project is drawing ever closer to a possible full deployment, now is the time for those who use windlights for photography or within their regions to test the EEP RC viewer and see if they can identify any potential issues / bugs.

ARCTan

Project Summary

An attempt to re-evaluate object and avatar rendering costs to make them more reflective of the actual impact of rendering both. The overall aim is to try to correct some inherent negative incentives for creating optimised content (e.g. with regards to generating LOD models with mesh), and to update the calculations to reflect current resource constraints, rather than basing them on outdated constraints (e.g. graphics systems, network capabilities, etc).

As of January 2020 ARCTan has effectively been split:

  • Immediate viewer-side changes, primarily focused on revising the Avatar Rendering Cost (ARC) calculations and providing additional viewer UI so that people can better visibility and control to seeing complexity. This work can essentially be broken down as:
    • Collect data.
    • Update ARC function.
    • Design and provide tool within the viewer UI (i.e. not a pop-up) that presents ARC information in a usable manner and lets users make decisions about rendering / performance.
  • Work on providing in-world object rendering costs (LOD models, etc.) which might affect Land Impact will be handled as a later tranche of project work, after the avatar work.
  • The belief is that “good” avatar ARC values can likely be used as a computational base for these rendering calculations.

Current Status

  • Vir has been working on the apparent Bake service issue noted in my last CCUG summary. Unfortunately, while he has ascertained it is something that can occur, it seems to do so entirely randomly and with no real consistency, making reproducing the issue in order to track down probable causes very difficult.

In Brief

  • BUG-228153, “FAO Vir: Possible cause of greyness in bakes” reports a Bake Service issue, which is due to be looked at by the Lab. This is probably not related to the issue Vir has been seeing with complex attachments.
  • A side on on the Bake Service: it is not only responsible for handling appearance bakes (textures), but also include calculations on shape, vertical positioning, etc., some of which must be calculated regardless of whether or not wearables are being used, and which can be affected by attachments containing position offsets.
  • There have been a number of feature requests for follow-up Bakes on Mesh work. Some of these have been accepted. However, there are no plans to re-open BoM for further work in the immediate future.

2020 Content Creation User Group week #5 summary

The Isle of Cezanne, December 2019 – blog post

The following notes are taken from my audio recording of the Content Creation User Group (CCUG) meeting held on Thursday, January 20th 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are available on the Content Creation User Group wiki page.

Environment Enhancement Project

Project Summary

A set of environmental enhancements (e.g. the sky, sun, moon, clouds, and water settings) to be set region or parcel level, with support for up to 7 days per cycle and sky environments set by altitude. It uses a new set of inventory assets (Sky, Water, Day), and includes the ability to use custom Sun, Moon and cloud textures. The assets can be stored in inventory and traded through the Marketplace / exchanged with others, and can additionally be used in experiences.

Resources

Current Status

  • EEP is now viewed as a priority for release by the Lab, with work progressing on the final bug fixes on the graphics side.
  • The biggest change recently made is to remove the option to disable Basic Shaders in the viewer, on account of this option causing problems when trying to address other issues.
    • It is not believed this will impact users, unless they are running really old graphics cards that do not support (the now 15-year-old) OpenGL 2.0.
    • Note this is not removing the ability to toggle ALM off / on.
  • Release is still being couched in terms of being in “about a month” – so possibly early March.
  • Those who use windlights for photography or within their regions are strongly urged to test the EEP RC viewer (last updated on January 9th, 2020, at the time of writing this summary).

Rendering System Improvements

Outside of EEP and in the future, the rendering team plan to spend time simplifying SL’s multiple rendering paths and options to make them easier to maintain going forward.

ARCTan

Project Summary

An attempt to re-evaluate object and avatar rendering costs to make them more reflective of the actual impact of rendering both. The overall aim is to try to correct some inherent negative incentives for creating optimised content (e.g. with regards to generating LOD models with mesh), and to update the calculations to reflect current resource constraints, rather than basing them on outdated constraints (e.g. graphics systems, network capabilities, etc).

As of January 2020 ARCTan has effectively been split:

  • Immediate viewer-side changes, primarily focused on revising the Avatar Rendering Cost (ARC) calculations and providing additional viewer UI so that people can better visibility and control to seeing complexity.
  • Work on providing in-world object rendering costs (LOD models, etc.) which might affect Land Impact will be handled as a later tranche of project work.
  • The belief is that “good” avatar ARC values can likely be used as a computational base for these rendering calculations.

Current Status

  • Testing has suggested that when an avatar attachment has a very high number of prims, there is a chance the avatar appearance does not get baked correctly – the number of prims effectively “chokes” the Bake Service.
    • The number of prims is reported as “north of 32”.
    • It appears to be the number of prims – not submeshes – in an attachment that cause the issue, but this is by no means certain.
    • It is not something that appears to have been reported via Jira, so LL is curious whether or not it is an artefact people may have witnessed.
    • A version of the internal Jira will be filed publicly by Vir for creators to look at.

Next Meeting

The next CCUG meeting will be on Thursday, February 13th, 2020.

Brief Notes from the January 29th open-Source Developer Meeting

These notes are recorded here as they may have longer-term relevance to content creation / viewer use.

  • Linden Lab has identified improving the viewer UI / UX to be a high priority.
    • Initially, the focus will be on improving usability for users who are not yet familiar with the viewer (and/or SL in general).
    • A further aspect of the work will be making the number of choices available in many places smaller and making the terminology more uniform.
  • The UI team is said to have “quite a list” of possible changes / improvements, some of which have come directly from TPV developers and through feature requests.
    • Additional feature requests are well – including illustrative mock-ups of idea, providing these are properly documented.
    • Please see my tutorial notes on filing SL feature requests, if required.

2020 Content Creation User Group week #4 summary

RioSisco Studio Pictures, December 2019 – blog post

The following notes are taken from my audio recording of the Content Creation User Group (CCUG) meeting held on Thursday, January 23rd 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are available on the Content Creation User Group wiki page.

Environment Enhancement Project

Project Summary

A set of environmental enhancements (e.g. the sky, sun, moon, clouds, and water settings) to be set region or parcel level, with support for up to 7 days per cycle and sky environments set by altitude. It uses a new set of inventory assets (Sky, Water, Day), and includes the ability to use custom Sun, Moon and cloud textures. The assets can be stored in inventory and traded through the Marketplace / exchanged with others, and can additionally be used in experiences.

Resources

Current Status

  • EEP is now viewed as a priority for release by the Lab.
  • Work is continuing on the final bug fixes on the graphics side.
  • Release is anticipated by LL to be within the next month or so.
  • Those who use windlights for photography or within their regions are strongly urged to test the EEP RC viewer (last updated on January 9th, 2020, at the time of writing this summary).

Project Muscadine

Project Summary

Currently: offering the means to change an Animesh size parameters via LSL.

Current Status

  • Now officially on hold pending other projects / work (notably major projects such as:
    • The cloud migration project.
    • Transitioning the viewer build tools to Visual Studio 2017 and to a recent version of Xcode (OS X)
    • Completing the migration of viewer repositories from Mercurial to Github.
  • The status of the project will be reviewed as other work progresses, but it is unlikely there will be any further work on Muscadine in Q1 2020 (through until the end of March).

ARCTan

Project Summary

An attempt to re-evaluate object and avatar rendering costs to make them more reflective of the actual impact of rendering both. The overall aim is to try to correct some inherent negative incentives for creating optimised content (e.g. with regards to generating LOD models with mesh), and to update the calculations to reflect current resource constraints, rather than basing them on outdated constraints (e.g. graphics systems, network capabilities, etc).

Current Status

As of January 2020 ARCTan has effectively been split:

  • Immediate viewer-side changes, primarily focused on revising the Avatar Rendering Cost (ARC) calculations.
    • This work will also involve providing additional viewer UI so that people can better visibility and control to seeing complexity. For example:
      • Which attachments are taking the most rendering resources / rendering time.
      • Available options for improving local performance.
    • The aim is to provide users with information they can understand and make use of to assist in their local performance (e.g. “these red figures on your avatar attachment mean it is impacting YOUR system’s performance and slowing YOU down”, rather than jut pointing the finger elsewhere).
    • It is hoped that providing this information may also encourage creators produce better, more efficient avatar-related content.
  • Work on providing a UI for in-world object rendering costs (LOD models, etc.) which might affect Land Impact has been deferred to a later tranche of project work.
  • The belief is that “good” avatar ARC values can likely be used as a computational base for these rendering calculations.

In Brief

LOD product: LL is considering taking future look at how level of detail is managed by Second Life.

  • GLOD is now 15+ years old and there are potentially better ways to handle things.
  • Automation of some LOD options might be seen as possible.
  • It is recognised that avatar LODs are not the most efficient (e.g. 2X bounding box LODs), but how they might be better managed is seen as a complex issue (e.g. avoiding situations where the viewer uses one LOD for an avatar’s body and another for the avatar’s head, so the head looks deformed compared to the body, or vice-versa).

Content Tools: interest was also expressed in hearing about the preferred tools used by creators and what creators might like to see by way of better support for said tools / file formats related to said tools and in general. The question was not asked with any specific project in mind, but simply to gain a broader understanding of what content creators use, etc.

The tools mentioned by creators at the meeting include:

  • Clothing: Marvelous Designer, Blender, Maya, Substance Painter, 3D Coat.
  • Other tools mentioned: Topogun, Zbrush.

PBR was also mentioned, although this would require a large-scale overall of SL’s rendering engine.

Requests were also made for:

  • Better handling of sub-meshes during the upload process (e.g. consistent linking between different uploads of the same multi-part mesh).
  • Ability for mesh instance recognition (e.g. if a specific sub-mesh is repeatedly used in a build, then it should be uploaded only one and instanced across the build) – or at least the viewer to be able t instance sub-mesh elements when rendering.

 

2020 Content Creation User Group week #2 summary

Elvion, November 2019 – blog post

The following notes are taken from my audio recording of the Content Creation User Group (CCUG) meeting held on Thursday, January 9th 2020 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are available on the Content Creation User Group wiki page.

Environment Enhancement Project

Project Summary

A set of environmental enhancements (e.g. the sky, sun, moon, clouds, and water settings) to be set region or parcel level, with support for up to 7 days per cycle and sky environments set by altitude. It uses a new set of inventory assets (Sky, Water, Day), and includes the ability to use custom Sun, Moon and cloud textures. The assets can be stored in inventory and traded through the Marketplace / exchanged with others, and can additionally be used in experiences.

Due to performance issues, the initial implementation of EEP will now likely not include certain atmospherics such as crepuscular rays (“God rays”).

Resources

Current Status

  • The EEP RC viewer updated to version 6.4.0.534193 on Thursday, January 9th.
  • Bug fixing continues, notably around alpha rendering issues.
  • It is believed there are about a dozen remaining issues to be dealt with before EEP may be ready for formal release.

Pathfinding

First introduced in 2012 (and developed over the following year), Pathfinding was intended to provide a means for more interactive non-player characters (NPCs) in Second Life. Unfortunately, the implementation of the system proved to be so cumbersome (and leaving aside some of the incorrect perceptions about Pathfinding on the part of land holders), the it has never really seen that much use in Second Life.

With the arrival of Animesh, there has been renewed interest in using Pathfinding in conjunction with Animesh characters, but again, the current implementation is proving a bottleneck (e.g. highlighting / indicating “walkable” areas in the viewer; whether the navmesh is actually visible; the effort required to Pathfinding, etc.).

  • A forum thread highlights the issue, and it has been suggested that if a Jira can be raised highlighting the specific problems, it might be something the Lab could take a look at to try to improve some of the visualisation issues within the viewer (Navmesh visibility, etc.).
  • However, a broader pass at improving / overhauling Pathfinding is not on the Lab’s current road map for SL.

Pathfinding Resources

In Brief

IP rights, UV Maps and “working copies”: there has been recent discussion on the forums, through various user groups (notably Governance, which I’ve been unable to attend for the last couple of months due to RL) concerning IP rights and things like mesh VW maps, compatibility, weight painting etc. The questions have arisen of late due to a mesh appearing on the Marketplace that achieves compatibility with all the other meshes of the same nature by providing amazingly close replicas of them.

Currently, the primary course of response to concerns over potential infringement – imperfect is it may appear to be where this issue may be more esoteric in nature, given that the meshes in question all tend to use things like UV maps derived from originals supplied by Linden Lab – is for a creator with concerns over infringement to file an DMCA complaint with LL.

BOM take-up: Bakes On Mesh take-up is seen as being a little slow. Some mesh body / head makers have yet to fully adopt BOM flagging on their products for example (so while Maitreya support BOM on their current body via a HUD, the body still has some 800 individual mesh elements that the viewer needs to handle, compared to the (roughly) less-than-fifty used by the Slink Redux (BOM) body). Also, there are continued concerns about BOM’s ease-of-use when compared with the use of HUD-based applier systems. While the latter can be more resource-intensive, the form is seen as requiring better scripted tools and / or better inventory visualisation mechanisms (even better base alpha support) in order to be more attractive to users.

Next CCUG meeting: Thursday, January 23rd.

 

2019 Content Creation User Group week #51 summary

Last Dove, November 2019 – blog post

The following notes are taken from my audio recording of the Content Creation User Group (CCUG) meeting held on Thursday, December 19th 2019 at 13:00 SLT. These meetings are chaired by Vir Linden, and agenda notes, meeting SLurl, etc, are available on the Content Creation User Group wiki page.

The majority of this meeting was a generic conversation of ideas such as moving Second Life to support PBR, what might be done to improve Pathfinding, etc., none of which are on the road map for Second Life at present; as such these notes keep the the current projects that are in progress at the Lab.

SL Viewer

A new Maintenance viewer, code named Xanté, was released on Thursday, December 19th. Version 6.3.6.533748 contains around 30 fixes for reported issues and bugs. All other viewer remain as per my Current Viewer Release List.

With regards to viewers:

  • The Lab’s focus has been on transitioning their Bitbucket viewer build repositories from Mercurial to Git – see my week #50 TPVD meeting notes for more.
  • As well as the current pipelines of viewers, work is also in hand to ensure the viewer is ready to manage Name Changes when that capability is deployed in early 2020.

Environment Enhancement Project

Project Summary

A set of environmental enhancements (e.g. the sky, sun, moon, clouds, and water settings) to be set region or parcel level, with support for up to 7 days per cycle and sky environments set by altitude. It uses a new set of inventory assets (Sky, Water, Day), and includes the ability to use custom Sun, Moon and cloud textures. The assets can be stored in inventory and traded through the Marketplace / exchanged with others, and can additionally be used in experiences.

Due to performance issues, the initial implementation of EEP will now likely not include certain atmospherics such as crepuscular rays (“God rays”).

Resources

Current Status

  • Bug fixing continues, notably around alpha rendering issues.
  • The hope is that of the remaining issues, some my be related, and so solving one will help to solve others of a similar nature.

ARCTan

Project Summary

An attempt to re-evaluate object and avatar rendering costs to make them more reflective of the actual impact of rendering both. The overall aim is to try to correct some inherent negative incentives for creating optimised content (e.g. with regards to generating LOD models with mesh), and to update the calculations to reflect current resource constraints, rather than basing them on outdated constraints (e.g. graphics systems, network capabilities, etc).

Current Status

  • Vir is working on getting things to a state where he can do so practical testing over the holiday period to ensure the relevant data is being collected. This is dependent on whether he has the time to confirm the internal version of the viewer is logging everything it needs to be logging.
  • The work is still very much focused on the data collection aspect, rather than doing anything with the data that is gathered.
    • The kind of data being gathered includes: what are the graphics and geometric properties of the objects in a scene, what rendering settings are being used, poly count for different LODs with a model, what are the graphics properties in use (materials, texture + texture size, etc.), plus the time required to generate a frame successfully given the work required to render the scene.
  • Once the data has been gathered, the idea is to run the viewer on multiple hardware configurations (GPU, CPU, etc.), and gather data on the the impacts of changes those various properties.
  • The aim is to get a more accurate feel for how performance is impacted, and how significantly changes impact performance (e.g. what’s the impact of enabling Full Bright compared to enabling materials? Which is genuinely better: properly optimised mesh or plain faces with materials or a combination of low-resolution mesh + materials?
  • As well as allowing the complexity calculations for avatar attachments and in-world objects to be better refined, the data gathered might, further down the line in the project, enable LL to make plausible forecasts of what might be seen by way of performance improvements in relation to suggested constraints being put on objects as a part of the creation process.
  • Textures are still proving a problem in terms of measuring impact (e.g. is it more a total threshold limit being hit, rather than the number of textures used within an individual object?).
  • Anther limiting aspect is the number of different bottlenecks users can experience quite outside of the Lab’s control (e.g. their network connection, what else is going on across that connection at the same time, etc)., and bottlenecks within individual systems that can vary.
  • One attempt to improve things that has been made in Firestorm is for the matrix calculations for worn mesh to be cached the the bones to which the mesh has been rigged hasn’t moved between frames. This can save up to 7 sets of calculations for a mesh with 8 faces that the viewer may not actually need to make. This may be contributed to LL for evaluation.

** The next Content Creation User Group Meeting should be on Thursday, January 9th, 2020, but check the wiki page for confirmation **