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: #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

Wednesday, October 9, 2019

Black Dragon 64x - Update 3.6.5 "Baking Dragon"

Aaand another round of fixes.



More reported stuff has been fixed although i wish more stuff would have been reported and possibly faster. I'm trying to strike a balance between waiting to get some bug fixes accumulated and fast response releases, i don't want to go through the chore of making a whole new update just for one or two tiny little things, not only does it look empty but its also just wasting time.

Busy response is now disabled until you log in (prior to login it doesn't make any sense since it is an account setting), the head look issue with certain quad avatars has been fixed (again), worn items should now finally be copyable (wasn't properly merged), the toolbar buttons should now longer lay on top of the chiclet notifications and while i was on it i finally fixed a long standing issue with IMs and notifications being partly overlapped by the chiclet windows/menus and several experimental graphics changes have been undone as they haven't shown any noticeable effect sadly.

New in this update however is a new naming scheme for log files, they will no longer be saved as BlackDragon.log and then renamed to BlackDragon.old on the next run (while deleting the old .old file) but instead logs will now be named BlackDragon_[date].log. I realize this can quickly start to consume some harddrive if i fuck up and have some stupid error/warning/debug spam appear a million times in the log file but this should really mostly just affect me as i tend to remove these before i push updates but just in case (and for the cases i ask for it) i added a button to open the log folder directly from within the Viewer, this should make it easier for you to delete old logs if you want and give me the log files i so desperately crave for when you are having certain issues... hooray!

As always keep 'em coming!

By Clover Jinx

Thursday, October 3, 2019

Black Dragon 64x - Update 3.6.4 "Baking Dragon"

So.

This update fixes all the reported issues with 3.6.3 (hopefully).

Biggest issue with 3.6.3 was most likely the spooky headspins most people were experiencing thanks to the newly introduced experimental headtracking. I expected issues, i expected some people to see a broken head, what i didn't expect was literally everyone breaking a feature i have been working on the entire month and testing up and down in less than 5 seconds. What has been working exceptionally well for me didn't work at all for everyone else it seems. That should give you an idea how worthless testing really is... i can test all i want, users will always break it in the most spectacular ways possible... in record time.

Sadly this means (as i was kinda expecting) that the headtracking has to go again... a whole month wasted on basically nothing, welp. But hey, we had a good laugh now didn't we? It was halloween and i added a fitting spooky headspin. SPOOKY.



Then there's the new toolbar layouts, they should have reset automatically to default due to loading errors and validation fails but apparently a "misformed" toolbars settings file is not properly seen as such and infact the entire thing didn't even seem to work at all skipping the basically the entire toolbar setup so i had to fix that as well and while i did i also randomly found out why the topbar was throwing warnings all these years... an inverted if check... all these goddamn years and it was a simple missing exclamation mark... this drove me mad for years.... guess it's fixed after all. PEACE after all.

Now then, the broken facebook button which could still be found in the toolbox is now gone too since facebook connect has been removed entirely by LL...

I suppose that's it for this update. Just a quick fix for the booboos. Nothing special to see here!


Aside from fixing i've also put some more work into the Discord server and added a FAQ section and recently also a welcome area that explains a few things, the FAQ was added to help people with frequently asked questions such as the infameous avatar turning and jellydolling.

As always, report any issues you see but make sure you're on the latest version before you do!

By Loverdag