Disclaimer

Black Dragon is MY Viewer, i decide which feature i want to add and which to remove, i share this Viewer to show the world that user base size is not important, i do rate quality by effort, thought and love put into the project, not some rough estimated numbers. I consider feature requests only if i you can name proper valid reasons i can agree on. It is my (unpaid) time i'm putting into this project, i'm not here to cater to every Joe's desires.

Monday, December 23, 2019

Black Dragon Viewer Guide: #6 Tone Mapping & Color Correction

What is it?


Tone Mapping and Color Correction are commonly used to enhance the picture with additional color or in case of Tone Mapping aiding in compressing the image color ranges to allow non-HDR to have a higher range of colors available in their limited color range, this is to give an enhanced sense of contrast or colors in the final picture. Black Dragon uses Tone Mapping and Color Correction slightly different, instead of compressing the color range it is used to enhance the overall colorfulness and contrast of the image. Some would say it 'blows out' colors a bit but this is essentially what makes Black Dragon's pictures so 'crispy'.


How does it look?




As shown in the pictures Tone Mapping and Color Correction create a more neutral color scheme, while at the same time making the details on some parts of objects 'pop' more. Vibrant colors profit most from this and these features can vastly change how a picture looks depending on the scene they are used in. It's main goal was to get rid of SL's global greyish look that you would see most noticably when not using 'Full Range' colors.

How can i use it ?


You can enable Tone Mapping and Color Correction by opening 'Preferences' and selecting the 'Display' tab, here you'll find the 'Tone Mapping' section where you'll find the 'Color Correction' options as well as all options to configure Tone Mapping itself.


What can i change?


Quite a lot actually, Tone Mapping and Color Correction probably offer the most feature-unique finetuning options out of all rendering features. You can totally customize every aspect of how Tone Mapping interacts and how and which color to correct via Color Correction. From certain presets for Tone Mapping to each and every single calculation ramp can be configured and Color Correction also offers configuring the exposure, gamma and offset of each of the three color channels. (red, green and blue)



Caveats


Despite offering the most options out of all features it is incredibly hard to control and even harder to get just right, it takes a lot of patience to get these features configured to give your picture that extra bit of 'oomph'. It is even harder to create a default preset for everyone to use.

Black Dragon Viewer Guide: #5 Depth of Field

What is it?


Depth of Field is a post processing technique commonly also used in photography where it is a side effect of how the camera is configured to take the picture in question. In 3D rendering it is applied as post processing effect to simulate this effect. It is commonly used to put a certain part of the picture into focus but it can also be used to blur out less good looking parts of the image.

How does it look?




As shown above, Depth of Field blurs the area out of focus, in above's example the focus are the two metal beams in the foreground, right behind them Depth of Field starts to blur, increasing in strength the further it goes back until the configured threshold is reached. In the example above it was used to 'guide' the viewer's focus to the foreground, something out of focus is naturally less interesting to us than something that appears clear, we can use this to put emphasis on something or someone.

How can i use it ?


You can enable Depth of Field by opening 'Preferences' and selecting the 'Display' tab, here you'll find the 'Depth of Field' tab which includes all its options as well.

What can i change?


Just like with real cameras you can configure certain aspects of Depth of Field in rendering, this includes the Field of View, the F-Number, the Focal Length, Circle of Confusion and the Resolution of Depth of Field. In addition you can also customize the time it takes for Depth of Field to switch focus from one focus point to another. Further there are two interesting options to switch between a cheaper but faster Depth of Field calculation and an option to include transparent surfaces into Depth of Field. Especially including transparent surfaces can make a huge difference in how Depth of Field appears.



Caveats


The 'High Quality' Depth of Field is an extremely GPU intensive feature and will quickly drop your framerate if you use a strong blur. It is highly suggested to add Depth of Field at the end of your photography chain as it can make working and finetuning the scene further really annoyingly slow.

Not including alphas into depth can be super useful for Depth of Field, it will make Depth of Field ignore semi transparent particles and stops the 'sudden square blur' that might appear due to this.

Depth of Field stacks badly with Volumetric Lighting, often times Volumetric Lighting will produce 'sharp edges' where objects would otherwise be blurred.

Depth of Field does not scale with resolution, this means that if you take snapshots at higher or lower resolution than your current window you'll have to reconfigure Depth of Field for these resolutions, Depth of Field shares this weird behavior with 'Light Softening', 'Screen Space Reflections' , 'Screen Space Ambient Occlusion' and 'Volumetric Lighting'. Keep this in mind.

Black Dragon Viewer Guide: #4 Screen Space Reflections

What is it?


Screen Space Reflections, just like Screen Space Ambient Occlusion is a screen space limited feature that aims to improve the visual quality by offering 'cheap' versions of otherwise highly demanding features, in this case full blown reflections. It's not perfect and brings its own set of issues but does a decent job of giving especially metallic surfaces a lot more realism. It does so by doing simple post process reflection calculations and aproximating what should be reflected and how much.

How does it look?



You can see that Screen Space Reflections aren't particularly realistic nor correct but they do a decent job of giving these metallic beams that extra bit of metallicness, the wall on the left and the beams in the roof also profit a lot from the reflections of sky and other objects inside the room. Generally Screen Space Reflections can massively improve the looks of virtually anything if the specularity is configured properly and normal maps are used, they also add nicely ontop of the very bland and boring default light reflections.


How can i use it ?


You can enable Screen Space Reflections by opening 'Preferences' and selecting the 'Display' tab, here you'll navigate into the 'Deferred Rendering' section where you'll find the 'Screen Space Reflections' group, you can turn SSR on or off here.


What can i change?


Screen Space Reflections doesn't offer much options outside of the resolution and brightness both options which can be found right next to the feature toggle itself. There really isn't much to change about Screen Space Reflections anyway, its highly dependent on the user content it is used on.


Caveats


It's not exactly accurate nor realistic and as screen space limited feature also fails on the screen edges and cannot include objects or landscape outside of your screen. It is also a semi-expensive GPU shader feature and GPU's similar to a GTX 600 series will start to slow down if the resolution is set higher than ~13.

Screen Space Reflections do not scale with resolution, this means that if you take snapshots at higher or lower resolution than your current window you might have to reconfigure Screen Space Reflections for these resolutions, Screen Space Reflections shares this weird behavior with 'Light Softening', 'Depth of Field' , 'Screen Space Ambient Occlusion' and 'Volumetric Lighting'. Keep this in mind.

Black Dragon Viewer Guide: #3 Shadows

What is it?


Shadows, the bread and butter of Deferred Rendering and Black Dragon. Shadows completely change the environment, the mood, the scene in and around. Having shadows is the difference between day and night. Both sun and moon are a global light and in addition projectors can also be used as light sources casting shadows.

How does it look?








As you can see shadows make a huge difference, they change the entire scene from a brightly lit 'outdoor' place into a proper closed building with a roof on top. Combined with SSAO they are the single biggest visual improvement you can enable in any Viewer.

How can i use it ?


You can enable Shadows by opening 'Preferences' and selecting the 'Display' tab, here you'll navigate into the 'Deferred Rendering' section where you'll find 'Shadows' which feature off, sun and moon only or sun, moon and projectors.



What can i change?


You can change whether you want to see shadows from sun and moon only or want to include those of projectors as well. Further you can control how much ground shadows should cover and which resolution each of the 4 sections has. Note that changing the distance of one section can negatively impact the accuracy, more ground covered means less accuracy. You'll want to keep the first two sections very small. Further each projector shadows resolution can be changed as well. Shadows are also affected by 'Light Softening', as without shadows will have no blur and will appear pixelated.

Caveats


Shadow resolution has a huge impact on performance and so does the complexity of the scene itself. The more complex a scene is the higher the impact of shadows will have on your framerate this is just amplified by shadow resolution. Shadows will also always appear pixelated if cast by a semi transparent object or surface or are falling onto one. Nothing can be done about that, it's a rendering limitation of how alphas and light blur is implemented.

Projectors are a massive performance impact if used wrong and changing increasing their resolution just worsens it.

Shadow distance can make or break your shadows, if you configure them badly you'll end up trashing your shadows completely, if you can't figure out good distances, try the 'Automatic Shadow Distance' option, it gives you far less options but does a decent job if you can't do it better yourself.

Black Dragon Viewer Guide: #2 Screen Space Ambient Occlusion

What is it?


Screen Space Ambient Occlusion (or in SL commonly only known as Ambient Occlusion which is a combination of several features) is one of the most common and basic advanced shader features used to produce a more realistic scene, Screen Space Ambient Occlusion is used to give the scene more depth and fake 'secondary shadowing' in a cheap and affordable way, or simply to calculate Ambient Occlusion of a scene.


How does it look?





Notice the darkening around objects touching other objects? It is a bit hard to see as these building parts already bake Ambient Occlusion partly into their textures but you can clearly see that especially the curvy walls in the back get some depth and actually look curvy with SSAO rather than like a flat distorted wall. The transition between the front truss and the wall aren't as harsh anymore either and their shape is defined a bit more, their metallic surface is shaded better and convey the depth better. Most people would call it "It looks less floaty" objects look more integrated into the scene rather than abstract floating objects painted on top. Ofcourse without shadows this effect is not complete, it would look a tad better with shadows.

How can i use it?


You can enable Screen Space Ambient Occlusion by opening 'Preferences' and selecting the 'Display' tab, here you'll find the 'Screen Space Ambient Occlusion' tab and its coresponding options.



What can i change?


Screen Space Ambient Occlusion comes with few but very important options. You can change the blur size (Blur Size), the strength/darkness/brightness (Effect), the radius (Scale), the max radius (Max Scale) and the distance inclusion (Factor). In addition to these options Screen Space Ambient Occlusion will also react to the Deferred Rendering option 'Light Softening' which can be found in the 'Deferred Rendering' section, it controls whether light (and thus SSAO) should be softened or not.


Caveats?


Screen Space Ambient Occlusion as the name implies is only used in Screen Space, objects outside your view are not included and thus not properly included when they stick into your screen partly, most noticeably SSAO will not correctly work at the edge of your screen, this is a limitation of SSAO but the price of a very cheap feature.

Screen Space Ambient Occlusion does not scale with resolution, this means that if you take snapshots at higher or lower resolution than your current window you'll have to reconfigure Screen Space Ambient Occlusion for these resolutions, Screen Space Ambient Occlusion shares this weird behavior with 'Light Softening', 'Screen Space Reflections' , 'Depth of Field' and 'Volumetric Lighting'. Keep this in mind.

Black Dragon Viewer Guide: #1 Deferred Rendering

What is it?


Deferred Rendering (also commonly and falsely known in Second Life as Advanced Lighting Model) and correctly labeled 'Deferred Shading' is a commonly used rendering technique which moves the actual shading to the second pass of vertex and pixel shaders, while the first is solely used to gather relevant information that will be used in the second pass to calculate lighting and shading. It's biggest advantage is decoupling the lighting from the geometry pass which allows rendering a lot lights for instance without a big performance impact compared to the normal rendering approach. Generally Deferred Rendering should always be enabled, it should only improve performance if anything, most modern hardware will actually see a performance hit when disabling Deferred Rendering. Deferred Rendering is also the foundation for other advanced rendering features such as Ambient Occlusion, Depth of Field and rendering shadows.


How does it look?




The difference, aside from an overall brighter image lies in the details here, these walls have normal and specular maps, with Deferred Rendering enabled they become visible, you can also see the metallic reflection a bit better as it is now correcty reflecting light, although keep in mind that this is without shadows and most of this should not receive any direct sunlight. Overall it is a slight improvement over Legacy Rendering and only the foundation of all other features.


How can i use it?


You can enable Deferred Rendering by opening 'Preferences' and selecting the 'Display' tab, here you will find a checkbox in one of the major tabs labeled 'Deferred Rendering'.



What can i change?


Without any additional features enabled Deferred remains mostly static, you'll find all of its options in the 'Deferred Rendering' section of 'Display' settings, those include Antialiasing, a bunch of light options and whether you want light to be smoothened or not.


Caveats


Deferred Rendering will add a bit more texture memory usage on top of the possibly already very limited amount you've got, keep that in mind.

Thursday, December 19, 2019

Black Dragon 64x - Update 3.6.9 "Manipulating Dragon"

Two days ago i released 3.6.9.


It mainly contains LL's new code (which is needed for the mercurial to git transition) and contains some fixes for stuff and a new feature some of you have wished for: Disabling all those pesky, handwritten, informative tooltips that i made for you so you can ignore them and continue asking me what a slider does rather than reading the tooltips. Also Flickr and Twitter share have been removed (coming from LL).

Aside from that, fixes from me, a few changes regarding the labeling of certain inventory features and some temporary changes to DoF as well as an improvement that will stay. Depth of Field now has a depth check to prevent it from going off around edges that are spaced far between each other, this should prevent the "halo" around edges of objects especially with strong blur. Also i've disabled the close-blur for Depth of Field, this means (for now) you can zoom really close, pull the focus point back and blur the shit out of a picture's background without having to fear that the foreground starts blurring as well. Here's an in progress comparison shot, you can see the difference around my ears on the lower left corner.



Here's an example of extreme blur without the near-blur.


Good mh?

I've also started fixing some of the preferences translations. We might be seeing some more german UI updates in the future, wohoo.

Also i'm sorry that i didn't yet add the latest Patrons to the list, this was sort of an "emergency" update once again as this is the last update based on the mercurial repository before i switch to git and god knows when i'll get around to do the rest of the update with that, i'll still have to learn how git works, get everything set up and all that stuff... this will take some time which is why i opted to release the update as is, there's nothing gamebreaking in it so...



By Beev Fallen
By Doll Parts

Thursday, November 28, 2019

Black Dragon 64x - Update 3.6.8 "Manipulating Dragon"

So im going to push this as an "emergency" update. Consider this update absolutely mandatory if you downloaded 3.6.7.


3.6.7 had a big issue, a very few select people couldn't login anymore, something that appeared with 3.6.6 and i attempted to fix this, said fix however made it worse for some others. Here's the full story as posted on discord.


This kept me awake for the most part of this night, i suppose i can consider this a nightmare now.

3.6.8 changes the maximum character limit back down to 16 letters, this also means that everyone with a password "longer" than 16 characters should probably rethink their password to be exactly 16 characters long as any longer wont be accepted anyway. You can also just leave it as is but note that only the first 16 characters of your password are important, the rest is never used. Good job Linden Labs never telling us and superb job at not having the server handling a truncation automatically server side. Good thing Inspector Niran was on this case!

Apart from this really strange issue, there have been some changes (not all of them that i originally planned to add but most of it) regarding the UI, specifically the 'Display' tab in preferences. In an attempt to make the warnings a bit clearer the Viewer will now highlight potentially bad settings in red, in addition to showing the warnings which have now been moved down into the panels themselves. Originally i planned to add a generic warning counter to the tabs but since this is an emergency update i'll want to push as soon as possible, i didnt get around to do that yet. How this looks like can be seen below (note that the 'Quality Options' tab havent had its warnings moved down at that time)


The quickfloaters (draw distance, preset, media and sound) have had their background changed to a hopefully better one and a bunch of settings have been turned off by default that really shouldnt be on anyway. Pitch Invert for controllers are disabled by default now, automatic fly when holding jump is disabled now (this was causing controllers to insta-fly when pressing jump) and the selection range limitation has been disabled by default as well.

Also fixed should be missing clouds, long ago i changed the texture names to reflect the proper names for the type of cloud, i forgot to update the default cloud noise setting to reflect this new name, this caused all new users to default to a non existent cloud noise image which prevented clouds from appearing until you changed the cloud noise image manually, also the cloud noise image dropdown should now display the currently selected image properly and will no longer accept text entry (since the list is refreshed on reopen anyway).

Lastly i've had the time to try out Bakes-on-Mesh in my Viewer and make sure everything is working, as far as i can tell it does, i've also used the chance to change the bake tab in the texture picker to be a list (suggested by Liru Fears, thanks for that) which surfaced new issues with lists not properly creating their childs which was fixed (thanks to Liru again) as well.

The rest is minor fixes like the last 2 lines in mini-profiles not interactable, UI layout inconistencies and cleanup.


As always if you experience issues, report them to me, i will try by best to fix whatever issues you are experiencing. No report = No help.

By Beev Fallen
By Mal

Monday, November 18, 2019

Black Dragon 64x - Update 3.6.7 "Manipulating Dragon"

Here comes another update!



The main focus in this update is the Object Manipulator overhaul, more buttons, more features, new layout, better sorting, easier access, bugfixes and so on. I would consider this version the "Final" version for now.

The Object Manipulator was something i wanted to add to give the whole manipulation features a home and an easier and faster method of permorning these manipulations on a large scale. Alphas and light sources are now seperately listed into 2 additional lists in their respective tabs, this should reduce the amount of searching drastically, in addition root prims are now written in bold (rather than attached prims) and root and linkset prims are now grouped together, this should make finding and identifiying a whole object consisting of multiple parts much easier.


Each tab only displays the button that are really important for said tab topic and the main Objects tab is now an "All Objects" list that simply acts as a list for misc features like derendering items.

Note still none of the lists will display your own items or those attached to you to prevent you from accidentally changing your own stuff and actually saving these changes.

Apart from the Object Manipulator getting its full implementation, there are a couple of fixes, binding keys should now work as expected again (the action list didn't show the actions for the currently selected mode so it was impossible to bind third person actions for instance), passwords longer than 15 characters should now be enterable, the about window should now show the actual set memory values (even with automatic memory management enabled) and trying to get the UUID from a linkset prim should no longer crash the Viewer.

Also a couple new patrons joined my Patreon. Thank You!

This update also merges all the latest LL Release code, lots of crash fixes mainly.

By Beev Fallen


Saturday, November 9, 2019

Black Dragon 64x - Update 3.6.6 "Baking Dragon"

Finally an update, was about time.


Last month was a very hectic and special month.

My computer started falling apart as you'd expect after almost 10 years... first my power supply died, which took my GPU with it (again RIP GTX 670) then my backup harddrive failed completely and took basically everything with it and before my last HDD dies as well i thought i should probably do something. Sadly i don't have the money to do anything (infact, i'm on the verge of not being able to pay even my internet anymore >.< with Coffee Lychrono dropping his patron and a few others following in on the absolute low end right now). Luckily for me a couple friends i've been playing the past 2 months extensively (which is why the updates were so slow and delayed) agreed to help me out on this, together they bought me much needed new parts.

They visited me end of last month to build the PC together with me. A Ryzen 5 3600, 64gb of DDR4 3000 RAM and (finally) a new mainboard with 5.1 sorround sound again i can absolutely rock everything that's coming at me for the next 5 years minimum. I've also got two SSD's (small 250gb ones) and reinstalled Windows (and down upgrapded it to Windows 10, sadly). With 10 basically throwing stepping stones into my way, sabotaging my every move, pissing me off more than i could have ever imagined and 10 behaving like a pile of shit, taking away my rights even for my own folders, wanting me to confirm confirmations of confirming confirmation confirmations and still not allowing me to do what was considered a breeze in 7... and 10 absolutely INSISTING on reactivating every single background app, stupid backdoor, disabled telemetry collection and basically undoing what i've been doing the past couple weeks trying to get 10 to... behave... it hasn't exactly been easy to stay focused on ... well doing anything. So far i've reinstalled and configured most of the things again to allow creating updates again, so today marks the first update since the upgrade. I sure hope everything is in the right place and doesn't blow up immediately.

But holy cow i can tell you i am NOT disappointed at all. This Ryzen fares exactly like i expected, twice as much FPS across the board (some places even far more). Hah i can basically turn off jellydolls and still run around with 30 FPS in Ark Club (though really that's the absolute maximum and i haven't managed to get more there... the place seems completely outdated and simply runs like crap sadly even without people around)

Anyway, enough of the story of my life, back to the Viewer. This update brings the Viewer back on track, all the latest changes from LL are included plus a few more bugfixes of reported issues and some tweaks as well as a new playtoy.

This new playtoy listens to the name of "Object Manipulator" (such imagination, much wow) and is basically an extended version (or is going to be) of the "Prim Manipulation" menu that was previously found in the My Useful Features - Shortcuts sub menu. Right now it allows you to see a list of all (and i mean ALL) objects the Viewer knows about currently, minus your own attachments (and objects in world, hopefully). You can double click items to highlight/select them and you can "manipulate" them just like you could previously do with the menu, you can force change their alpha mode between blending, emissive and masking and you can see whether an object is a light and casts a projector shadow, you can also manipulate these as well and turn their shadow casting off, this should make finding and eliminating shadow projectors much faster and easier and allow you to select the projectors you really want to cast shadows easier than ever, all in the name of machinima. Great.

What it means to change the alpha mode can be seen in this example:


From blending to masking:


This allows temporarily fixing the fuckups of creators without needing permissions. What this essentially means is i can turn... this mess:


into something absolutely beautiful with some masking and some setting tweaks:


Looks like someone applied reshade but i promise you this is a raw image. I don't do the editing.

Further the viewer version is now shown in both login and "About Black Dragon", both the actual code version and the version i use for my updates, no need to start a second instance of BD anymore. I hope this reduces confusion a bit. Checking for update now also brings you here and the "Release Notes" link should now properly link to the changelog page.

Apart from that i fixed the price spinner for objects on sale, you should be able to set a price again and the annoying "Hippos!" badge has had its shortcut removed because apparently people have been accidentally triggering it since its so close to the teleport home shortcut (who the fuck does this?).

I've still got a huge bunch of things planned but only time will tell when and how they get done... if they get done at all.

By Loverdag
By Clover Jinx
By 털덩이
By Kissmebaby Allen
By JDB
By Spiritus Natus