Lab issues updated Project 360 Capture viewer

via Linden Lab

On Friday, September 3rd Linden Lab issued the latest update to the 360º Snapshot viewer – now called the Project 360 Capture viewer – with the release of version It represents the most significant update to this viewer we’ve seen, and it comes after a significant pause in its development.

As the name of the viewer suggests, it is designed to take 360º degree panoramic images of the environment around the camera. It does this by simultaneously taking six images around the current camera position – one each at the four cardinal points, plus one directly overhead, and one directly looking down. These are then “stitched” into an equirectangular projection image (e.g. one that can be projected as a sphere), which can then viewed through a suitable medium – such as Flickr (other mediums are available!).

An “unwrapped” Maximum quality 360º image captured using the Project 360 Capture viewer, showing the 6 captured images “stitched” together (click on this image to see it in 360º format in Flickr)

The first iteration of this viewer appeared almost five years ago, in October 2016, and came with a certain amount of complexity involved – including the need to install a local environment for previewing captured images. Later iterations of the viewer improved on this, but the viewer continued to be hit by conflicts with the Interest List.

In simple terms, the Interest List lightens the load – objects, textures and updates to active objects, etc., – the viewer has to process when rendering. It does this by ignoring things that are not in the camera’s direct field of view. This is why, for example, when you turn your camera away from the direction you are looking, it can take time for objects and their textures to render. However, for a 360º-degree image, everything needs to be properly rendered in the viewer – whether in the current field of view or not. Overcoming this problem has proven difficult – and it (admittedly with other factors also coming into play) caused work on the viewer to be halted for an extended period.

This version of the viewer overcomes most of these issues, and makes the creation of 360º snapshots straightforward through the use of a new 360 Snapshot floater that is independent of the “standard” snapshot floater, and the use of some additional back-end code to overcome the Interest List. This new floater can be accessed from within the Project 360 Capture viewer in one of four ways:

  • Via World 360 Snapshot.
  • By pressing CTRL-ALT-SHIFT-S.
  • By enabling the 360° snapshot toolbar button in one of the toolbar areas.
  • By expanding the standard snapshot floater to show the full preview and clicking the Take 360 Snapshot link in the lower right corner of the preview panel.
Accessing the 360 snapshot floater (this can also be done via CTRL-ALT-SHIFT-S or by expanding the standard snapshot floater to show the full preview and clicking the Take 360 snapshot link in the lower right corner of the preview panel

The floater itself comprises several elements:

  • The image Quality radio buttons and selection button (labelled Create 360 Image).
    • The quality buttons appear to utilise the viewer’s screen buffer to render the different image types, so Preview appears to use the 128 vertical buffer, while Medium and High use the 512 and 1024 buffers respectively, and Maximum the 2048 buffer (i.e. the full 4096×2048 resolution).
    • When you have selected your preferred quality, click the Create 360 button to generate a preview.
    • If you alter the image quality at any time, you’ll need to click on the Create 360 button again to update the preview / take a fresh image at the new image quality.
  • A checkbox to disable avatar rendering during the image capture process.
  • The preview panel. This will show a rotating image from the current camera position until refreshed, and this image can be manually rotated / panned up and down by clicking on it and dragging the mouse around.
  • The Save As… button that actually saves the image to your hard drive.

To take an image:

  1. Position your camera.
  2. Select the image quality – for finished images you’ll need to set High or Maximum quality using the radio buttons.
  3. Click the Create 360 Image button to generate a preview in the floater’s preview panel.
  4. Click on the preview image and drag it around to ensure what you’re seeing is what you want / that things like textures have actually rendered correctly.
  5. Check the Hide All Avatars option, if required – this will cause the process to include all avatars present (it will not alter their in-world rendering).
  6. When you are satisfied with the preview, click Save As… to save it to your hard drive, renaming it if / as required.

Remember, if you change the image quality, you must also click Create 360 button to update the preview AND image capture process to the new image quality, before click Save As… again.

Once captured – again as noted – images can be uploaded to a suitable display platform such as Flickr – the images contain the necessary metadata that should automatically trigger the 360-degree viewing process (just click on an image in flicker to manually pan around up / down).

An “unwrapped” Maximum quality 360º image captured using the Project 360 Capture viewer, showing the 6 captured images “stitched” together (click on this image to see it in 360º format in Flickr)

General Observations

  • An easy-to-use iteration of the 360º snapshot viewer that brings good quality and ease-of-use to the process.
  • The ability to avoid rendering avatars not only helps avoid issues of rendering / motion blurring when taking a 360º image, it enables the easy capture of landscape images. It also, obviously, allows for the capture of posed avatars if required.
  • There are still some issues in rendering out-of-view (relative to the visible field of view for the camera) items and textures at High and (particularly) Maximum quality images – note the blurring of the vessel name in the first 360 image above.
  • The lowest quality Preview option is simply too blurred to be of real value – perhaps using 256 rather than 128 might improve this (if only slightly)?

Viewer Links

Moni’s Images of Decay in Second Life

IMAGOLand: Monique Beebe – Images of Decay

There is something about Monique Beebe’s avatar-centric images that never fails to attract my attention. Her work has a unique blend of art, narrative, post-processing skill, and layering that allows her to create single-frame stories that carry a depth of mean that demands the attention of the eye and mind.

This is once again the case with Images of Decay, which opened at Mareea Farrasco’s IMAGOLand (Gallery 1b – use the teleport disk at the landing point) on September 2nd. Here Moni offers a selection of images with a central theme which wraps itself in layer of possible interpretation – whilst also allowing the observer to view them as intriguing studies in the use of light, colour and balance to present a captivating self-portrait.

The title of the exhibition – Images of Decay – might sound a little off-putting, but as noted, it can be taken on a number of levels. Predominantly offered in dark dark tones and colours – burnt umber, burgundy reds, shades of black and grey, these are intentionally “dark” images, each piece post-processed to add a rusting, metallic look to it, a discolouration that marks face, breast, arm, and so on. In some of the images, it is highly pronounced, in others it is more of a mottling. In one or two cases, due to the use of projected light and post-processed filters, it is subtle enough to give the impression of tattooing.

IMAGOLand: Monique Beebe – Images of Decay

As a first interpretation, this filtering / colouring might be seen as simple expressive colour play on the part of the artist. On another, and taking the title of the exhibition into consideration, they might be might be seen as experiments in giving a sense of age / the passage of time to the images themselves. It might also be taken as a reflection of life itself, and the undeniable fact that we are all doomed to grow older, age, whither, die and decay; that the beauty / vitality we have today is actual impermanent – but in being so, it is also part of life’s greater cycle.

This latter layer narrative is perhaps most clearly seen within the trio of images Girl, Lady, Woman, the idea of aging is clearly represented in the images as we take each in turn. So so might they also speak to how society can perceive women as they age, and our beauty is seen as fading over time (or to put it another way, decaying with the passage of time).

IMAGOLand: Monique Beebe – Images of Decay

There is an emotional content present within these pieces that adds additional layers to them. Many either directly or indirectly draw attention to the subject – to Moni’s – eyes, be it through the use of masks or eye shadow to highlight them, or face masks bubble gum or even  the wrap of a turban to obscure other parts of the face or the eyes themselves. In this way, we are drawn to each image and inhabit the emotions we might perceive as being present within them. Elsewhere, this emotional content is transmitted through the use of pose and lighting.

In places, this emotional element speaks directly to the idea of decay and the passage of time, in others, in other, the idea of decay emphasises the emotional content of a piece. Take, for example, Innocence and Light of Sadness. Within them the colours of decay do much to convey the essential emotion within them – the loss of innocence if the former, and the pain of sadness in the latter.

IMAGOLand: Monique Beebe – Images of Decay

Taken individually as as a whole, this is another richly engaging exhibition by Moni, one that should not be missed.

SLurl Details

2021 CCUG and TPV Developer meetings week #35 summary

Hidden Bottle, May 2021 – blog post

Update, September 4th: not long after this article was published, the 360° Snapshot project viewer was updated, so the viewer list here has been updated, and my first impressions of the update viewer can be found here.

The following notes were taken from my audio recording and chat log of the Content Creation User Group (CCUG) meeting held on Thursday, September 2nd 2021 at 13:00 SLT, and the TPV Developer’s meeting of Friday, September 3rd.

With the meetings once again falling on the same week, and with the degree of overlap in content between the two, core discussion points from both have been combined into this one summary. The TPV meeting was recorded by Pantera Północy, and her video is embedded at the end of this article, for those wishing to refer directly to that meeting.

Meeting Details

  • CCUG meetings are held on alternate Thursdays each month (generally the 1st and 3rd Thursday, vagaries of month start / end dates allowing), with dates available via the SL Public Calendar. The venue for the CCUG is the Hippotropolis camp fire.
  • TPV Developer meetings are generally held on alternate Fridays each month, although dates are not currently listed in the SL Public Calendar. The venue for meetings is at the Hippotropolis Theatre.
  • Both meetings are currently chaired by Vir Linden, and are led using Voice, although attendees can use either Voice or text to provide input / feedback (with text generally being the preferred medium).

SL Viewer

MeshOptimiser Project Viewer

The MeshOptimiser project viewer, version, was issued on Wednesday, September 1st. This viewer replaces obsolete GLOD mesh simplification in the mesh uploader with a newer Mesh Optimiser library.

About Level of Detail (LOD): as your observation point moves away from mesh objects, so does the need to render them in high / complex detail, as that complexity / detail naturally becomes less visually distinguishable. One of the more effective ways to reduce rendering complexity of a scene is to provide object models with simplified Level of Detail (LOD) that can be displayed at greater distances, reducing the rendering load on the viewer. MeshOptimiser is an improved means of achieving this. It simplifies a mesh to fit specified limits within the mesh uploader, producing models with multiple layers of greater LOD simplicity.


  • This viewer currently includes an option to continue to use GLOD, if preferred, although this may be removed in the future.
  • Currently, MeshOptimiser is only being used in mesh uploader, it is not being employed within the mesh rendering pipe.
  • The use of MeshOptimiser does not alter the LOD validation code in the uploader – although this is seen by creators  as something that needs addressing (and is something that Beq Janus of the Firestorm Team, who has been submitting code contributions related to the uploader has been looking at).
  • There is some concern that if MeshOptimiser does not support edge protection, it could have a negative impact on mesh clothing, which has been noted by the lab.

Performance Floater Project Viewer

The Performance Floater project viewer, version, was issued on Thursday, September 2nd.  This viewer introduces a new floater that pulls together options related to viewer performance under a new toolbar button somewhat confusingly called (in comparison to the viewer’s use of “Performance” in its name) of “Graphics Speed”. See my separate article on this preliminary release of this viewer for more information.

Remaining Viewer Pipeline

  • Release viewer: version version, formerly the CEF Update RC viewer, issued July 24 and promoted August 10  – NEW.
  • Release channel cohorts:
    • Happy Hour Maintenance 2 RC viewer, version, dated August 20.
    • Simplified Cache RC viewer, version, dated August 9.
    • Grappa Maintenance RC, version, dated July 29.
  • Project viewers:
    • 360° Snapshot project viewer, version, issued September 3.
    • Legacy Profiles viewer, version, dated October 26.
    • Copy / Paste viewer, version, dated December 9, 2019.

General Viewer Notes

  • The 360° Snapshot project viewer should see an update in the next few days.
  • A update for the Copy / Paste viewer has an update currently with the viewer QA team, and which should hopefully be appearing “pretty soon”.
  • The Muscadine project viewer has been removed from the available project viewers, as there is no simulator side support for it. This does not mean the project has been abandoned – it is just on hold until work can resume and the necessary simulator support implemented.
  • As a part of reducing the volume of viewer updates that are being queued either as Alternate Viewers or awaiting entering project or RC status, LL is looking to start combining updates into single releases. As a part of / start to this process the two Maintenance RCs that are currently available (Grappa and Happy Hour) are likely to be merged.

Graphics News

  • The work to Integrate the Tracy debugger / system analyser  to allow for better cross-platform profiling of client hardware to help with cross-platform graphics development is now drawing to a close, with an internal test viewer producing worthwhile client analysis data.
  • Work is progressing with the next batch of graphics updates that will see light of day in the Love Me Render 6 RC viewer at some point.

Aditi Log-ins

As a result of the move to AWS, logging-in to Aditi, the Beta grid, for testing purposes, etc., has been a issue for some tome, both in terms of being able to log-in and in getting inventory correctly synced with Main grid (Agni) inventory.

  • The inventory syncing issues now appear to be resolved, although anyone still encountering problems is asked to file a support ticket.
  • There has been some improvement on the ability to log-in to Aditi, although issues with time-outs due to back-end handshaking failures are still apparent. Some have lengthened the timeout set via the LoginSRVTimeout Debug setting to try to overcome this
  • Further log-in fixes for Aditi are in progress (including for the time-out issue), but no time frame at present on when they will be deployed.

In Brief

  • An invite-only “creators channel” has been started on Discord by a group of users. While not an official LL communications channel, some Lindens have been invited to join it, and have been taking questions.
    • This move is not seen as particularly helpful to content creators in general or those interested in content creation due to its “invite only” status.
    • Some at the CCUG meeting voice the opinion that a better channel for passing question to the Lab ahead of meetings would be via the official forums.
  • BUG-227543 “Set ‘Press to talk’ as default mode in Official Viewer” has been on the accepted list for two years, but is coming to the fore again due to new users entering SL being unaware their microphone is live for the moment they enter SL on the official viewer and then accidentally activate Voice. The change is now apparently being tested, and so will hopefully be appearing in a Maintenance RC at some point Soon™.
  • Feature request BUG-215951 “Option to allow nearest neighbour on textured faces” currently has a status of Closed, although it is seen as a potentially useful feature. The major issue in trying to implement it is that it would require a new field in the asset database for each face on an object, and there is no easy way for LL to further extend the allowable per object data fields.
    • This formed part of a wider conversation around texture rendering, including the use of texture atlases, changes that might be possible with the eventual shift to a new rendering engine and the potential for procedural based rendering to be implemented for SL.
  • Concern continues over the issues many are experiencing with group chat and the manner in which it is giving rise to an “exodus” of people from SL to Discord (at least for group chat purposes).
    • The fear is that as people become more accustomed to Discord and its features and the ease with which they can communicate / share, etc., they’ll have increasingly less reason to log-into Second Life. Given that Discord tends to be used alongside of SL rather than in lieu of it, it’s hard to judge if such fears are valid.
    • One potential source of frustration that does tend to be felt is that when this issue is raised, it can often – if unintentionally – appear to be dismissed with comments akin to “we’re aware of the problems”.
    • That said, feature request BUG-230899 “Split Group Chat from Groups and Extend its Functionality” has been accepted for future consideration.
  • Catznip is testing an option to reduce the resolution of the screen buffer(s) in the viewer via slider (e.g. so a 1080p screen can be set to a buffer of 720p or even 540p). This has the benefit of speeding up performance (do to lower-resolution rendering, but it can made the world look blurry as a result. However, LL has expressed an interesting in taking a look at the code if contributed.
  • Source Filmmaker is a tool that has been developed for making mini movies using video games, and being able to edit scenes, set poses, etc., in real-time “within the game” (so to speak), essentially by caching assets, etc., locally and then manipulating them. The question was asked whether a similar tool – IF it could be made to work in SL – would violate things like DMCA. Such a tool would require a detailed proposal for LL to pass to their legal team before a considered response could be given.