SL project updates 16 12/3: invisiprims

Invisiprims: as they were with ALM disabled (left) and ALM enabled (right) and as they appear now, with or without ALM enabled (LL official viewer)
Invisiprims: with ALM disabled (left) and ALM enabled (right); and as they appear now in the official viewer, with or without ALM enabled (click for full size, if required)

As noted in my week #11 update, the current release of the LL viewer now effectively “breaks” the remaining invisiprim capability in the viewer, with any object or surface using them rendered as either solid grey or black, something which is seen as less than optimal with regards to long-standing in-world content, prompting some debate as who should be done with invisiprims going forward.

To understand what has been discussed, and what is likely to be done, it is necessary to dip back into some history.

Background

One upon a time, Invisiprims were the means of achieving an alpha mask effect. For example, their use in footwear meant that an avatar’s feet could be masked to prevent them showing through shoes and boots. They could also be used in-world as well, a typical example being their use to mask Linden Water from being seen inside boat hulls or things like dry docks – one of the most famous examples being the dry dock at Nautilus (shown below).

As it used to be: the Nautilus dry dock uses an invisiprim to mask the Linden Water - but for the last few years this has onlt worked for viewers with Advanced Lighting Model (ALM) disabled
As it used to be: the Nautilus dry dock uses an invisiprim to mask the Linden Water. For the last several years, this has only worked when the Advanced Lighting Model (ALM) in the viewer is disabled

Invisiprims were able to do this by making use of two unique texture UUIDs within the viewer which, when called, would act as alpha masks. However, this always came as a cost to rendering, and could lead to unpredictable results (e.g. glitches with rendering, odd interactions between the invisiprim textures and other textures, etc.). Because these issues became particularly problematic when using some of the advanced rendering capabilities (what is now called the Advanced Lighting Model or ALM) in the viewer, a decision was taken a number of years ago to have ALM ignore the alpha masking effect of the invisiprim texture UUIDs.

Thus, anyone running the viewer with ALM enabled for the last several years  has not seen the masking effects of invisiprims; avatar body parts show through wearable items which use them, for example (hence the adoption of more efficient alpha layers by clothing and accessory designers). Nor do in-world invisiprims act a masks for things like Linden Water when viewed with ALM active (as illustrated below), although they would still alpha mask if ALM was disabled in the viewer.

As it has tended to be: the Nautilus dry dock uses an invisiprim to mask the Linden Water, the texture of which is completely ignored by the viewer when rendering with ALM enabled.
Following the changes made a few years ago to the Advanced Lighting Model, the “magic” invisiprim texture UUIDs are ignored during rendering, with the result that they no longer mask things like Linden Water when seen in a viewer with ALM enabled

While this latter point – the lack of ability to hide things like Linden Water from view – may have appeared less than perfect at the time the changes were made, it has over the ensuing years become accepted behaviour when seen in-world.  So what has now changed to once again make invisiprims a subject of discussion?

The New Problem and Its Proposed Solution

In short, a recent change to the viewer rendering system, (found in the current release viewer, 4.0.2.312269) means that anything using the invisiprim texture UUIDs is now seen as a sold grey or black surface / object regardless as to whether ALM is enabled in the viewer or not. This has led a lot of long-standing, No Mod in-world content looking distinctly odd and unsightly (shown below, again using the Nautilus dry dock).

The new invisiprim issue is that regradless of whether a viewer is running with ALM disabled (l) or enabled (r), worn or in-world objects using them now appear either solid grey or black (click image for full size, if required)
A change to the 4.0.2.312269 release viewer means that invisprims now render as solid grey or black surfaces / objects whether or not ALM is enabled in the viewer. With in-world content, this has led to some unsightly results, such as the Nautilus dry dock looking like it has been filled with cement (click image for full size, if required)

BUG-11562 was raised highlighting this latter impact to in-world content, with a request that the change be updated so that any surface using the “magic” invisiprim UUIDs is simply rendered as “invisible” (i.e. transparent, as is the case when running with ALM enabled). There has also been some debate among TPV developers about how to adopt the Lab’s code change, as well as the matter being discussed at both the Open-Source Developer meeting and the TPVD meeting held on March 25th, 2016 (audio extract below).

The latter discussions have resulted in both the Lab and TPV developers agreeing that the best solution would be to follow the BUG-11562 suggestion, and have surfaces and objects using the invisiprim UUIDs render and transparent objects whether or not ALM is enabled in the viewer.

A change to support this has already be submitted to the Lab to achieve this. Subject to further testing, it, or a solution similar to it, is likely to be integrated into a future viewer update.

SL project updates 16 12/2: viewer, Aditi inventory, TLS 1.2

Nusquam; Inara Pey, March 2016, on Flickr Nusquamblog post

The following notes have been taken from the Open-Source Developer meeting held on Wednesday, March 23rd, the Server Beta User Group meeting  held on Thursday, March 24th, and the Third-Party Viewer Developer (TPVD) meeting held on Friday, March 25th (for which audio extracts are included). My thanks to Yuzuru Jewell for sending me the notes from the Open-Source Developer meeting.

SL Server Deployments – Recap

On Tuesday, March 22nd, the Main (SLS) channel was updated with the improved server maintenance project previously deployed to the three RC channels. This comprises server script fixes (not LSL changes) and internal improvements. There were no planned deployments to the RC channels.

SL Viewer

There have been no further updates to any of the official viewers since the recent promotion of the former Maintenance RC viewer to release status. This viewer has already demonstrated a much lower crash rate than previous release viewers, thanks in part to the contributions made to the Lab by TPV / open-source developers.

HTTP / Vivox Viewer

It is anticipated that the HTTP / Vivox RC viewer, version 4.0.3.312816 dated March 23rd, 2016 at the time of writing, will be the next RC to be promoted to the de facto release viewer.

Quick Graphics RC Viewer

The Quick Graphics RC viewer, version 4.0.2.312297 dated March 11th, 2016 at the time of writing, further testing has been going on with a hard limit on the number of avatars rendered:  anyone outside the closest N will simply be invisible./

64-Bit Viewer Builds

The 64-bit official viewer project is continuing. As a part of this work, the Havok sub-library will be updated to 64-bit as well (allowing 64-bit versions of TPVs to including the sub-libraries, and will see CEF updated to that Mac users can utilise PPAPI should they wish to continue to use Flash driven devices for in-world media (currently, Mac users must use the less secure NPAPI – see here for more on installation requirements).

Inventory Updates

Once the HTTP viewer has reached release status, the Lab will be shifting viewer focus back on the inventory improvements work Aura linden has been working on. This includes switching all of the old UDP inventory messaging paths over to HTTP, and to deprecate old inventory messages and the removal of server-side support for such messaging.

Once live, this means that older versions of viewers which still rely on the old inventory messaging paths will no longer have functional inventories.

Aditi Inventory Syncing

As I’ve previously noted, there is a new system in place for synchronising Aditi (Beta) grid and Agni (main) grid inventories for avatars. Rather than requiring a password update in order to force your Aditi inventory to be overwritten with the contents of your Agni inventory (generally around 24 hours after the password change), the new process simply requires you to log into Aditi.

Whenever you do so, your inventory is flagged so that the contents of your Angi (main) grid inventory is merged with your existing Aditi inventory  (in theory preserving most of your Aditi inventory, rather than simply overwriting / deleting it) the next time an update process is run (at around 06:00 SLT daily). This process works one way: the contents of your Agni inventory is merged into your Aditi inventory – it doesn’t merge anything you have on Aditi into your Agni inventory.

The “in theory” statement above is important, as some issues / potential confusion has arisen with the way the process operates.

Syncing, Cache Clearance and Slow Inventory Load

Whirly Fizzle reports that following an inventory sync, items created on Aditi (and therefore unique to it) prior to the sync may seem to be missing from your Aditi inventory the first time you log-in to Aditi following the sync process. As the viewer uses the shame cache location regardless of which grid you log-in to, logging off and clearing cache corrects the problem (fresh inventory download from the correct grid asset servers) but it can lead to exceptionally log log-in times when trying to get back into Aditi (Whirly indicated in her case, it took two hours for her to log back into Aditi after clearing cache).

“Shared” Asset UUIDs and Agni Precedence

A further issue appears to be that worn items are essentially treated as “shared” assets between Agni and Aditi. This can led to problems on Aditi when editing the contents of a worn object there.

For example: Lucia Nightfire had her Agni inventory merged into Aditi. She then modified a script for a HUD which originally came from Agni. This was fine until the next time her Agni and Aditi inventories were synchronised (remembering that your Aditi inventory is flagged for update each time you log-in to the beta grid, unless it is flagged already). following this further merge, she discovered that the changes she’d made to the script on Aditi had been reverted due to the Agni data relating to the HUD and its contents overwriting the Aditi information.

The issue appears to be the result of the respective Aditi and Agni versions of the asset having the same UUID, with the Agni version of the asset taking precedence over the Aditi version during an inventory merge. It’s currently not clear if the same issue will occur with the contents of objects which are rezzed in-world as well; further tests are being carried out to check on this.

Two-Factor Account Authentication

As recently indicated by the Lab, phishing issues are still a problem in Second Life. These issues led to a request during the TPVD meeting that the Lab look to implement two-factor authentication on accounts.

The lab has been carrying out back-end infrastructure work, which has involved some changes – transparent to users – in the log-in and authentication process, and going forward, further work is to be carried out, which may include a move to two-factor authentication, although the Lab is still looking at options and time frames.

Continue reading “SL project updates 16 12/2: viewer, Aditi inventory, TLS 1.2”

SL13B: sharing the adventure in Second Life

via SL13B website
via SL13B website

The dates have been set for this year’s Second Life anniversary celebrations.

SL13B will kick-off at noon SLT on Sunday, June 19th, and run for a full week of celebrations, entertainment and activities, through until Sunday, June 26th, 2016 inclusive. The theme for 2013 is The Shared Adventure.

The blog post announcing event reads in part:

Second Life has been home to countless virtual adventures, and continues to break new ground. Each of us shares in the adventure, as our creations are enjoyed by avatars from far and wide.

What does adventure stir in you? Is it an endless vista of unexplored jungles and ocean depths, a space opera, or even intrigue in dimly lit alleyways. What dangers are afoot, and how will you and your cohorts seek to overcome them?

L12B Community Celebration; Inara Pey, June 2015, on FlickrSL12B Welcome area by Walton F. Wainwright (Faust Steamer), June 2015 (Flickr)

The key dates for the celebration themselves are:

  • Saturday, June 18th: Press Day
  • Sunday, June 19th, noon SLT: Opening Day
  • Thursday June 23rd: The Birthday
  • Sunday, June 26th: end of entertainments and performances
  • Monday, June 27th through Sunday, July 3rd: Sims open for viewing, no performances

In keeping with the shared experience theme,  and in a departure from previous SL13B events, the organisers are inviting Second Life creators and builders to apply for the chance to design and build one of the celebration’s entertainments stages or public areas.

In all there are six public areas people can apply to develop. They are, in brief:

  • The Cake Stage: the centrepiece of the celebration, spanning a square of four regions with a total available LI of 32,000 (8,000 per region, with the stage expected to straddle the corners of all 4 regions). The cake can be constructed in whole or in parts from prims, mesh or sculpts, with mesh preferred.
  • The Live Stage: for singers and “live” entertainments and set within a single region with a 10,000 LI allowance. The stage needs to be suitable for solo acts as well as moderate ‘band’ sized acts, with the successful applicant responsible for developing the entire region.
  • DJ Stage:  straddling two regions with a total LI of 10,000, this stage is for DJ and other pre-recorded acts. The successful applicant is responsible for the decoration of both regions.
  • Stage Right: again straddling two regions and with a 5,000 LI allowance, this stage will be used for a mixture of DJ and live entertainment, with the successful applicant once more responsible for developing both regions.
  •  Auditorium: straddling two regions and covering approximately half of each, and with a LI allowance of 2,500 per region, the auditorium will be used mainly for presentations, talks, workshops and classes. It should be split into a minimum of two sections, with one part of it should be capable of seating up to 70 avatars
  • The Welcome Area: Taking up a full region and with a LI allowance of 8,000 and a total ground area of 57,600 square metres, the Welcome Area is the point at which the majority of visitors will arrive at the celebration regions.

Again, please note that the above descriptions offer a brief outline of the build requirements for each area, all of which have very specific requirements which must be considered when applying. for full details on these, please refer to the SL13B Infrastructure Build Requirements.

If you are interested in applying to design and build any of these areas, please email either  doctorgascoigne-at-gmail.com or diana.renoir-at-gmail.com or contact them in-world.

L12B Community Celebration; Inara Pey, June 2015, on FlickrSL12B auditorium by Anthony (ADudeNamed Anthony), June 2015 (Flickr)

General applications from builders, exhibitors, performers and presenters will be announced in due course, as will a call for volunteer helpers and greeters and the opportunity for bloggers to apply for early access on the Press Day.

Keep up-to-date with all things SL13B through the SL Community Celebration Website.

Smooth Fridays, Joy and music in Second Life

Caitinara Bar
Caitinara Bar

Caitinara Bar, the casual venue for music and relaxing at Holly Kai Park has been operating weekly series of DJ-led music events for the last couple of months, and has gained a small but loyal following – thank you to everyone who pops along!

We’re now very pleased to announce that starting on Friday, March 25th, Joy Canadeo will be joining the line-up with Smooth Fridays with DJ Joy, a two-hour session of music from 4:00 through 6:00pm SLT, to soothe away the cares of the week and help us glide into the weekend.

Every Friday from March 25th at Caitinara Bar
Every Friday from March 25th at Caitinara Bar

Caitlyn and I are looking forward to welcoming Joy to Caitinara, and very much hope you’ll be able to join us as well, every Friday from the 25th onwards, for Smooth Fridays with DJ Joy.

And There’s More…

Don’t forget: every Wednesday at the same time (4:00 til 6:00pm) we have Music with Anthony, bringing a blend of genres and themes to get us over the mid-week hump with Anthony Westburn. We’re particularly pleased to be able to announce that from Wednesday, April 6th, Music with Anthony will be presenting a monthly opportunity for people to have a little costume fun with out new Dress Up theme evenings.

We’ll be kicking these off on April 6th with The Spies Who Loved Me, a celebration of Bond, Bourne, Baur, Bristow (Sydney, that is), Black Widow, femme fatales and criminal mastermids with songs and hits from the movies and famous spy-ish TV shows. We’ll have full details of this new monthly series on the Holly Kai Park blog soon!

Caitinara Bar provides moorings for boats, access to the Holly Kai beach and, beyond, to Holly Kai Park and Art at the Park / Art at the Garden
Caitinara Bar provides moorings for boats, access to the Holly Kai beach and, beyond, to Holly Kai Park and Art at the Park / Art at the Garden

Then on alternate Sundays, Kess Crystal presents Feel Good Sundays  – music to get you into a positive, upbeat mood ready to face the week ahead. Kess will be back at the bar on April 3rd, and then on April 17th, with a mix of indie, pop, and more to keep us dancing and spirits high – so why not join us to round-out your weekend?

You can keep up with all of the activities at Caitinara Bar and at Holly Kai Park through the Holly Kai website and blog, which has all events listed in the Holly Kai Park calendar. So why not bookmark that as well?

Project Bento User Group update 9 with audio

Project Bento – extending the SL avatar skeleton
Project Bento – extending the SL avatar skeleton

The following notes and audio were taken from the weekly Bento User Group meeting, held on Thursday, March 24th at 13:00 SLT on Aditi. For details on each meeting and the location, please refer to the Bento User Group wiki page.

Note that this update is not intended to offer a full transcript of the meeting, nor does it present the discussion points in chronological order. rather, it represents the core points of discussion to Project Bento, grouped together by subject matter were relevant / possible, together with any additional discussion on potential future projects the Lab might be willing to examine for possible adoption in the future.

Bento Skeleton and Appearance Sliders

Recent efforts within the Bento project have been on trying to hook the appearance sliders up to the new skeleton so that they might be used to adjust various Bento bones. This involves a fair amount of work, as the sliders apply morphs to the basic avatar form, and for Bento enabled meshes they need to be able to operate with bone positions / rotations.

Gaia Clary and Matrice Laville have been working on this, and have identified a slider parameter which can be used to achieve just this, and have been specifically looking at using the facial sliders (given the face  / head is one of the largest collections of new bones), as shown in the video below.

Click image to play
Click image to play video in a new browser tab

Skeleton and Viewer Status

The “downside” of this is that this requires further work on the Bento skeleton, includes the possible addition of further bones, which are currently under consideration. This means that there will at least one further update to the viewer, which will contain the updated slider capabilities and some updates / fixes for the skeleton.

It is hoped that this will surface in week #13 (week commencing Monday, March 28th); however, this is dependent upon final updates and getting the viewer through the Lab’s QA.  Once it has been issued, the Lab is particularly keen to see the spine bones exercised within this viewer once released, as these have been causing some problems (see my last Bento update).

One potential addition to the skeleton is a set of teeth bones, as described by Cathy Foil in the meeting. Again, it’s not certain these will make the final selection, but the potential with them is interesting.

Obtaining the Latest Version of the Skeleton

Currently, the most direct way to obtain the latest version of the Bento Skeleton is via the latest version of the Bento viewer installed on your computer (e.g. C:\Program Files (x86)\SecondLife\character) and using the Avatar_skeleton.XML and Avatar_lad.XML files – the latter of which contains the shape slider capabilities. The major reason the skeleton files haven’t been updated on the wiki is because the skeleton has been going through updates and changes, and Vir has been concerned about any version put on the wiki becoming out-of-date.

Shipping Bento to the Main (Agni) Grid

Troy Linden, the product lead for Bento indicated that current thinking among the product team at the Lab is that Bento will likely move to the main (Agni) grid some time in the second quarter of 2016. This doesn’t mean the project will necessarily be declared complete by then, but it does mean that the Lab expect to have all major skeleton and viewer work wrapped up, with the emphasis firmly shifting to more widespread testing, together with any required bug fixing.

Vir did caveat this with the point that there could be reasons  – significant bugs, other work requiring release, etc., – which might cause this to slip, but the focus would appear to be firmly on moving Bento to Agni some time between April and June 2016.

Issues

Incorrect Display of Legacy Rigged Content

Elixabeth Jarvinen (Polysail) demonstrates the GOS shoe issue, which occurs with versions of the shoe both with and without the GOS feet
Elixabeth Jarvinen (Polysail) demonstrates the GOS shoe issue, which occurs with versions of the shoe both with and without the GOS feet

It is unclear how widespread this issue is, or what the precise cause is. Currently it has only been noted with GOS shoes / feet, and manifests in the Bento viewer in the left foot / shoe appearing incorrectly aligned to the left leg when worn, as shown in the image on the right – note the left shoe / foot appears partially rendered because it has “sunk” into the terrain. Details of the issue can be found in  BUG-11617.

One suggestion put forward is that the issue is down to the very high poly count used in these shoes / feet; another that it might be due to the shoes feet being uploaded as individual mesh models, which might be creating issues.

However, why either of these cases should be so is unclear: the feet / shoes render correctly in non-Bento viewers, and there have been no intentional changes made to the rendering pipeline for Bento. A further suggestion is that it might be a result of attempting to rig to and animate an attachment point; it may even be related to an old issue of float issues in the LLVolumeOctree (BUG-2058 – see FIRE-8266 for a public version).

The issue has been accepted by the Lab as a bug, and will undergo further investigation on a number of fronts, including obtaining versions of the items seen to be exhibiting problems, testing the effect using other high poly count objects, etc.

Wing Mesh Upload Issues

There is also a possible issue with the mesh uploader failing to recognise the revised Bento wing bones as bones. This apparently manifests itself by a refusal to upload rigged wings weighted to the wing bones.

Next Meetings

The next Bento meeting will take place on Thursday, March 31st at 13:00 SLT. The meeting following that should be on Thursday, April 7th, but the time is TBC, so as to avoid it clashing with a Lab internal meeting.

Lab: one last friendly battle before the snow melts in Second Life

Winter Wonderland snowball fight arena - a spring challenge from the Lab
Winter Wonderland snowball fight arena – a spring challenge from the Lab

Spring is sprung, the grass is ris,
I wonder what that white stuff is?
It’s snow a-plenty, and fun for all,
And so the Lindens offer one more ball!

OK, so that’s not how the traditional spring verse goes, but it seems appropriate given the Lab have offered one more opportunity for fun and mayhem at Winter Wonderland, with a final friendly Lindens vs residents snowball fight for the 2015/2016 winter season.

In the blog post announcing the event, Xiola Linden says:

We have to take advantage of the snowball fight arena at the Winter Wonderlands region before the snow fully melts – and we want you to come have ice-hurling fun with us on Friday, March 25th, from 10 am – Noon SLT and 2 – 4 PM SLT.  If you missed the last snowball fight now is your chance to come pelt some friends and Lindens with soft, fluffy balls of frozen fun. Grab your snow-launching weapons from the kiosks, get some practice in, and be sure to make the trek to the top of the ice castle to take in the amazing view.

So, if hurling snowballs via pistols, rifles and bazookas is your kind of fun (it is for Caitlyn and I!), then make a note on your calendars / in your diaries for Friday, March 25th at the times specified above!

SLurl Details