Black Dragon 2.4.1.9: “volumetric lighting” and more

Blackdragon logoOn Tuesday, March 10th, NiranV Dean released version 2.4.1.9 of his Black Dragon viewer, which includes his recent work on volumetric lighting for Second Life, which I reported on at the start of March.

The update also includes a number of other fixes to some long standing rendering issues that Niran has been attempting to fix. Taken together, they are part of a larger update Niran has been planning, but as he comments in the release notes, he wanted to get these particular changes out to show people, and will save the rest for his upcoming version 2.4.2 release.

Graphics Memory Changes

The first of the changes Niran has made relates to the way in which graphics memory is used with textures. Generally, the viewer has one slider for setting a limit on the amount of texture memory, which encompasses everything you see in the viewer, including all of the UI elements.  The is generally set to 512 Mb by default.

Up until the 2.4.1.9 release, Black Dragon, like most viewers, offered a single slider for setting the amount of video memory which could be dedicated to texture processing by the viewer
Up until the 2.4.1.9 release, Black Dragon, like most viewers, offered a single slider for setting the amount of video memory which could be dedicated to texture processing by the viewer

With the 2.4.1.9 release of Black Dragon, Niran has split how graphics memory is used between “global” textures – which include all the UI elements, etc., and the graphics memory currently being used to render the current scene – what you are actually seeing in-world at any moment in time.

The idea here is to provide the scene textures with their own “pool” of graphics memory, so they are no longer competing for graphics memory with all the other textures obtained from the region and the viewer’s UI textures, and should thus result in fewer issues of visible textures being “thrashed” (e.g. constantly switching between blurry and clear as they are swapped into and out of memory due to lack of space).

With Black Dragon 2.4.1.9 , Niran has attempted to "split" how video memory is used  by the viewer into two adjustable "pools", one for global textures (which include UI elements), and one just for just the current scene textures
With Black Dragon 2.4.1.9 , Niran has attempted to “split” how video memory is used by the viewer into two adjustable “pools”, one for global textures (which include UI elements), and one just for just the current scene textures

As I’m not a graphics or viewer rendering expert, I can offer no opinion on this approach. However, do note Niran’s recommendation to set texture memory to 512 Mb (the default upper limit for SL viewers, set several years ago to avoid OpenGL issues which might occur when setting large memory allocations) and the scene memory to 256 Mb.

Horizon and Other Rendering Fixes

One of the visual irritants in Second Life when running the view with the Advanced Lighting Model option (which Niran still refers to by its more technical name of “deferred rendering”), those living at altitude in-world (or flying at a few hundred metres above sea level), is the way in which the line of the horizon between “sky” and “sea” forms a concave curve across the screen, rather than a flat line as one might expect.

The familiar concave horizon line between "sky" and "water" seen when running the viewer in "deferred" mode (ALM enabled) ...
The familiar concave horizon line between “sky” and “water” seen when running the viewer in “deferred” mode (ALM enabled) …

With Black Dragon 2.4.1.9, Niran has addressed this, and a few other horizon-related rendering issues so that – and again when running the viewer with Preferences > Display > Deferred Rendering (ALM) enabled, the horizon now appears as a horizontal line, as shown in the two images shown here, taken from Rebeca Bashly’s When Life Gives You Apples … Run.

Images of all the horizon rendering adjustments Niran has made can be found in his blog post on the release, linked to at the top and end of this article.

Niran's revised horizon line between "sky" and "sea", seen in Black Dragon 2.4.1.9 with deferred rendering (ALM) enabled
Niran’s revised horizon line between “sky” and “sea”, seen in Black Dragon 2.4.1.9 with deferred rendering (ALM) enabled

Continue reading “Black Dragon 2.4.1.9: “volumetric lighting” and more” →

Firestorm TTT: clean install revisited

firestorm-logoIn the Firestorm Tool Tip Tuesday video for Tuesday March 3rd, 2015, Jessica gave a rapid-fire overview of performing a clean install. In trying to keep the video to around 5 minutes in length, the result, while informative, came across as rushed.

Given people did feel the first video did feel hurried, and that clean installs can be a necessary part of viewer life, the latest Tool Tip Tuesday video from Jessica might be referred to as “Clean installs: the Director’s Cut”.

With a running time a little under 13 minutes, the new video provides greater information and clearer instructions on:

  • Saving your chat and IM logs to a custom location on your PC
  • Using Firestorm’s backup capability to save and restore your viewer’s global and per-account settings
  • Performing a clean install.

The video both complements the original clean install video, and stands as an instructional guide in its own right, providing a lot more explanation and background. So, if you were confused by the speed of delivery in the original video, this revisit may well be for you!

Firestorm TTT: the clean install

firestorm-logoUpdate, March 10th: In response to feedback following the release of this video, Jessica released a more in-depth video examining clean isntalls, settings back-ups, etc. The new video can be found here.

The Firestorm Tool Tip Tuesday video for March 3rd, 2015, covers what can be a thorny and intimidating issue: that of performing a clean install of the viewer.

In an ideal world, clean installs wouldn’t be needed. However, there are times when installing a newer version of a viewer over an existing version, that things which shouldn’t happen do happen, and things that should have happened don’t happen correctly. And while the frequency with which people are asked to perform clean installs have decreased in recent times for most viewers, they can still be the first step in avoiding later issues.

Where Firestorm is concerned, and given it has so many additionally exposed features with supporting UI elements and so on, the chances of something hiccuping during an install and causing problems later cannot be overlooked. Hence why, when releasing a particularly complex update to the viewer, or when dealing with support requests from users after a complex update being released, Firestorm support will often advise / ask if a clean install has been used with the new release.

Firestorm's settings backup feature can help remove some of the pain involved in a clean install, by allowing you to save many of your preferred global and account setting locally, and then quickly restore them after a clean install of a new version of the viewer
Firestorm’s settings backup feature can help remove some of the pain involved in a clean install, by allowing you to save many of your preferred global and account setting locally, and then quickly restore them after a clean install of a new version of the viewer

To make things easier, the Firestorm team has provided additional capabilities within the viewer which allow you to not only save things like your chat logs, etc., to a dedicated folder to avoid them being lost as a result of a clean install (as is the case with all viewers), but they’ve provided a means to back-up and restore all of your viewer settings. However, even with these capabilities, performing a completely clean install can be a daunting task for many.

So in this video, Jessica takes you through her preferred method of running a clean install on a PC – starting from ensuring all or logs files and setting are safely saved  / backed-up through to launching the viewer after a clean install and restoring all of your settings.

 

Volumetric lighting: soon for SL?

Blackdragon logoUpdate, March 11th: The capabilities described below are now available in Black Dragon 2.4.1.9, which I’ve overviewed here.

Update, March 4th: Niran is continuing to experiment with shaders, and has posted an interesting snapshot taken under water.

NiranV Dean has always enjoyed a reputation for pushing the limits of the the viewer, first within his Niran’s Viewer, and more recently with his Black Dragon viewer.

A lot of the work he does builds on code developed by Tofu Buzzard – such as with his implementation of screen space reflections and, more recently, Godrays. This work, coupled with his own, has enabled him to earn a reputation for producing a viewer with rich graphical capabilities.

Now Niran is pushing the limits again, using both his one code and elements such a Tofu’s Godrays to bring something to Sl people have long wanted to see: volumetric lighting effects.

On Sunday, March 1st, he released a stunning video showing the work to date. When watching it, be aware that while the camera is moving, everything else is static, other than the grating in the ceiling of the room. When you’ve got that, note how the grating not only casts shadows on the floor, it actually breaks up the light falling through it, just as would happen in real life where light rays hit a solid object and are broken up by it.

“The original Godrays are from tofu,” Niran says of the work. “The problem was, they only worked on objects and terrain; they got cut off on the sky. So I’ve worked on that, and added some code to my viewer, which was really the first iteration of things we saw on my viewer [the updates with Godrays from 2014].

“Since then, I’ve been working on improved resolution and smoother Godrays, moving things to another shader, which brought it’s own problems. Most recently I’ve been moving to another shader for depth of field and improved shadows.”

Interest in the work Niran has been doing has been expressed by the Lab, and he will be offering it as a code contribution for them to consider, although he still has some further work to do.

The first of this is to introduce a global fading effect on the Godrays such that they appear to fade away as an observer looks away from the sun. The basic code is already there, but is disabled in the video, as Niran is still working on things. He hopes to be able to offer the fading effect as a toggle on / off option once the work has been completed.

“The other work still to be done is with particles,” he told me. “Since these Godrays are in the final depth of field shader, they also share the same problems. So, if I can move it into a separate shader on top of everything else, it should resolve the remaining issues, and everything should be good to go.

Of course, contributing code to the Lab doesn’t always mean adoption by the Lab; there can be many intervening factors that prevent the latter. However, Niran is quietly confident his work will be adopted. But if not, “well, there’s always my viewer with it!” he tells me with a wink and a smile.

Firestorm TTT: command line shortcuts

firestorm-logoThe Firestorm Tool Tip Tuesday video for Tuesday, February 24th offers insight into using local chat as a quick means of using a number of viewer-related and other command options.

This is achieved by using what Firestorm calls the “command line options”, which can also be found in some third-party viewers (Singularity being another which uses the capability). There are essentially pre-configured shortcuts which allow you to do a number of things; for example, you can quickly step your draw distance down / up, or teleport to a specific region or height within a region, rez a platform, and so on.

Firestorm is one of several TPVs offering "command line" shortcuts which can be typed into local chat to achieve a number of things - the the full list of options via Preferences
Firestorm is one of several TPVs offering “command line” shortcuts which can be typed into local chat to achieve a number of things – the the full list of options via Preferences

In the video, Jessica takes viewers through several of the more popular command line options as well as looking at some of the commands people might not be so familiar with, such as the calculator, turning your Firestorm AO off / on, clearing-down your local chat history display, and so on. She also touches upon customising the command names to make them easier to remember and use, if you need to.

So, if you’ve never looked into using chat command via the command line option, this is the video for you!

Lock’n’load: it’s snowballs 2: this time it’s Firestorm!

On February 6th, residents and Lindens met in-world for what proved to be a challenge met with gusto and delight: the first in-world snowball fight involving Linden staff in a fair while.

As I was able to report from the front lines (when not picking myself up off the floor and dusting myself down after getting splatted by a certain Mr. Gibson Firehawk … several times 😛 ), the event was held in the Winter Wonderland created by the Lab and the Moles to help demonstrate the forthcoming experience keys / tools.

2015 snowball fight, Winter Wonderland;; Inara Pey, February 2015, on FlickrBut will Strawberry “Snap Shot” Singh be on-hand this time? … 

Well, with Winter Wonderland liable to be closing its doors in March, due to springtime arriving, the gauntlet has been once again laid down, with a challenge handed out to one and all for a further snowball fight – only this time it comes from the Firestorm team!

The challenge was given out in a Firestorm blog post, which reads in part:

The Firestorm team wants to do it again! Snowball fight pt 2! For those who couldn’t make it to the first one this is your chance to get involved and have some old school fun! We have extended an invitation to the Lindens as well and hope some of them will join in too.

February 6th proved to be a huge amount of fun for everyone involved, something which even recalcitrant weapons vendors and a healthy smattering of lag amidst the snow could do little to dampen.

2015 snowball fight, Winter Wonderland;; Inara Pey, February 2015, on Flickr… and who might find they’re in need of a bit of a sit-down amidst all the excitement? (And will hot cocoa also be available this time?)

So… if you missed out the first time around, or if you want to do it all over again, be sure to be in-world at the Snowball Warzone in Winter Wonderland by 13:00 SLT on Sunday, February 22nd!

Related Links