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