SL project updates 33/1: server, viewer, Experiences

Eclectica; Inara Pey, August 2015, on FlickrEclectica August 2015 (Flickr) – blog post

Server Deployments

There was no deployment to the Main (SLS) channel on Tuesday, August 11th, following the lack of an RC deployment in week #32.

The three RC channels *should* get a new server maintenance package on Wednesday, August 12th. Details were still TBD at the time of writing, however, it is thought to be a series of updates aimed at reducing the rick of No Copy inventory item losses due to race conditions occurring between the viewer and server.

SL Viewer

There is not expected to be any viewer promotion this week given the Viewer-Managed Marketplace viewer was promoted in week #32, and both of the active RC viewers were updated to match its code base.

Avatar Complexity (aka Jelly Babies) will hopefully appear in week #33 as a project viewer, as per the Lab's timetable for the project
Avatar Complexity (aka Jelly Babies) will hopefully appear in week #33 as a project viewer, as per the Lab’s timetable for the project

However, it is anticipated that the Avatar Complexity / graphics preset viewer will appear in project viewer during week #33.

This is the viewer which enabled yo to set a rendering cost above which other avatars and their attachments will be rendered at a solid colour (aka “Jelly Babes”) in order to reduce the load on your GPU. It also provide a means by which users can save and restore different sets of graphics settings within the viewer. The idea being that users can then switch between different presets according to circumstance to help with viewer performance.

I provided a high-level overview of this viewer in June 2015, and I’ll be taking a closer look at it once the project viewer is available for people to download and try.  Currently, the main thing apparently preventing the viewer reaching a project release status is that the Lab is making some final adjustments to get the frequency of the Avatar Complexity notifications it sends to users. the viewer is designed to inform those who have avatars with a high rendering cost how many people around them are rendering them as a Jelly Baby, for example, and the balance of these messages need to be reasonable.

The viewer includes the means to create and save sets of graphics presets which can be quickly loaded according to need / circumstance to help maintain a viewer's performance
The viewer includes the means to create and save sets of graphics presets which can be quickly loaded according to need / circumstance to help maintain a viewer’s performance

Experience Keys / Tools

An issue with Experiences is that access to the KVP data store (used to store data and values for an Experience) is currently handled on the same thread in the region and object rezzing. This means that reading / writing from / to the KVP store can be impacted when a region is busy with people rezzing items, etc. Requests have been put to the Lab to move the KVP access to a separate thread, and now he has completely a number of other tasks, Simon Linden is hoping to look into this and get things separated.

In addition, the Lab is mulling options for further Experience Keys / Tools enhancements. Nothing specific has been decided, and the emphasis is that any changes made will be small, rather than anything “massive”. Without the Lab committing itself to any of them, some of the following were suggested for consideration during the Simulator user group meeting on Tuesday, August 11th:

  • Limiting draw distance within an Experience
  • Providing a means to force sit avatars on items, when required
  • Providing a means to force a user into Mouselook at certain points in an Experience and then back out of Mouselook
  • Providing a means to control set the windlight environment and prevent viewer-side overrides.

A problem with ideas like these is that the options are controlled by the viewer, and could theoretically be over-written by the user unless an RLV-like capability was implemented to prevent cheating by a user simply overriding a setting. However, the Lab are poking at ideas, and we might see further updates of some sort appearing in the future to further enhance Experiences.

Reshade: post-processing Second Life in real time

Reshade: injecting shader effects into Second Life (or any game) in real time
ReShade: overlaying your SL world view with shader effects. In this image, I’m using the ReShade split screen option to show a real-time view of Oyster Bay, with the original windlight-based view on the left, and a preview of effects overlays on the right. (which have been deliberately exaggerated for effect)

ReShade is an application which has been generating a bit of buzz around Second Life for the last couple of weeks. When installed on a Windows PC (7, 8 or 10), it allows you to overlay you Second Life world view with a wide range of shader-based effects, which can be used in screen captures for images, or when recording machinima to offer real-time visual effects.As it is an overlay system, it also works with OpenSim environments.

I first got to hear about ReShade from Whirly Fizzle at the start of August (she in turn got to learn of it through Caetlynn Resident), and having been playing with the beta since then. Just how practical it might be is a matter of personal choice / want / ability with more traditional post-processing tools, etc. However, as version 1.0 launched on August 10th, with some much-need clean-up, I thought I’d offer a write-up on it, together with a few thoughts.

Remember, ReShade is third-party application, LL and TPVs cannot provide assistance in using it – and nor can I. If you need help with it, please refer to the ReShade forums. As relatively new software, it can be a little buggy, and it doesn’t always run with the viewer when installed – again, if you have problems getting it going, neither viewer support teams nor I can really help.

A quick and dirty demo video showing how ReShade effects can be used in real-time machinima capture in Second Life

Set-up

Please ensure you’re logged-out of Second Life when setting-up ReShade.

  • Download the ReShade Framework ZIP file from the ReShade website.
  • Unzip the contents of the downloaded file to a location of your choice.
  • Navigate to the unzipped folder location and right-click on ReShade Mediator and Run As Administrator.
  • The Mediator will launch to display the configuration tab (shown below). This is the UI element used to apply and adjust effects.
  • You now need to create a profile for Framework to work with your viewer.
Your first step is to configure the Framework Mediator to recognise your viewer
Your first step is to configure the Framework Mediator to recognise your viewer
  • Under the Profile section on the left of the Mediator, click Add. A file picker will open Use it to navigate to your viewer’s installation folder.
  • Locate the viewer’s .EXE file in the installation folder and click it once to highlight it, and then click the Open button in the picker
  • You will be returned to the Mediator panel, and the viewer name or “Second Life” should be displayed in the profile drop-down (below) – note that some TPVs may display their own name or may display “Second Life”, it makes no difference.
  • Make sure OpenGL has been correctly identified. Click on the Confirm button to create a profile for your viewer.
When adding a viewer to ReShade Framework, note it may display as
When adding a viewer to ReShade Framework, note it may display as “Second Life” rather than the viewer’s name – this doesn’t prevent things from working
  • When Mediator has finished creating the profile, click Apply at the top right of the panel.

The set-up process is now complete. However:

  • Note that this has created two files in your viewer’s installation folder: reshade.fx and opengl32.dll. These must be deleted if you decide to remove ReShade from your PC.
  • Also, as I’ve found ReShade to be slightly flaky, before going any further, copy the opengl32.dll and save the copy in another location – I’ll explain why later.

Continue reading “Reshade: post-processing Second Life in real time”