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.

Friday, April 1, 2016

Black Dragon Viewer - Update 2.5 - Alpha "Omega"



So, this is it mh? The "final" update is just around the corner. As announced long ago, back then i said i'm going to do about 50 more updates (until 2.5) and here we are now. This is 2.5... well, the Alpha of it. Why Alpha? I have made extreme changes to how Deferred is handled and this might totally blow fish out of the water and i want to know before i release the actual real 2.5 update and call it the last official update.

This update contains a tremendous amounts of changes all over the place, most noticeably the Interface and Deferred Rendering, i won't go into detail for any of these, it will all be done in the actual 2.5 update post that will be coming someday when Bento is released. Bento is also the only thing that is holding back 2.5 now. What i need is a metric fuckton of feedback about the UI changes and how well the Deferred Rendering still works. There's only ONE on and off toggle now, no more Vertex Shader, Atmospheric Shader etc, nothing. Just Deferred on or Deferred off or "super duper hyper broken do not ever use again mode" how i call it. Please, whatever you do, do NOT toggle Deferred off, i left the Deferred toggle in so you can enable it, in case you didn't or in case the Viewer set it lower than that. This Viewer is made for Deferred and ONLY for Deferred. Any potato PC can run Deferred nowadays, just disable shadows and the other stuff and you are good to go.

Note there's still quite some stuff missing such as the "Tutorial", many helpful pages, the manuals page on my blog which has been unfinished for many months and there are still quite a few features and UI overhauls i want to do. Appearance/Edit Shape for example.


2.5 Alpha

Added: Ability for Viewer to handle Vector4 control types.
Added: Ability to control every shadowmap size seperately and independently.
Added: Ability for preferences floater to utilize each of a Vector4's values.
Added: Ability to clear derender list without switching SIMs.
Added: Warnings for several options that may cause problems.
Added: Readded negative blur passes.
Added: Ability to control SSAO passes.
Added: Options to Preferences - Display to control the amount of samples for Shadow and SSAO blur.
Added: Light Softening option to Display Preferences.
Added: Light Softening option to Sidebar.
Added: Separators to display prefs to better separate groups of options.
Added: Separator image.
Added: Slider track backgrounds.
Added: Ability to define a second Slider Track background (from thumb to end).
Added: Second Slider track background for the track from thumb to end.
Added: Texture.xml reference for the Preferences separator.
Added: Debug to toggle between fast and slow customizable version of Light Blur.
Added: Basic play day cycle in 5 minute steps, no smooth transitions yet.
Added: Option and Code to toggle between fast and slow customizable version of Light Blur. Can be found in Display Preferences.
Changed: Motion Blur trigger threshold for alphas to the same of solid objects.
Changed: Shadow Resolution controls to use the new Vector4 controls.
Changed: Upped Shadow Resolution controls max limit to 6k
Changed: Shadow Resolution controls to have one slider for both width and height.
Changed: Allow Motion blur in Freeze Frame mode.
Changed: More consistency changes and code cleanup in Motion Blur.
Changed: Make the Fullbright toggle actually kill Fullbrights immediately. Added preparations for restoring them.
Changed: Made bind buttons display the currently bound key and masks.
Changed: Keybindings layout to make space for long labels.
Changed: Shadowmap resolutions, 2k for close, 4k for mid, 2k for far, 512 for very far.
Changed: Rigged all warnings to settings and made them display when certain criteria are met to inform the player about possibly negative performance impacts and problems.
Changed: Drastically increased SSAO strength now that it is much smoother again.
Changed: Default Shadow and SSAO Blur Samples to 8 (up from 4)
Changed: Split SSAO from Ambient Occlusion, making both toggeable invidually.
Changed: (Sideeffect) SSR now works without Ambient Occlusion or Shadows.
Changed: Make RenderDeferredBlurLight toggle AO now that SSAO is seperate.
Changed: sunLightSSAO shader to allow toggling of SSAO.
Changed: Renamed Ambient Occlusion setting to Screen Space Ambient Occlusion.
Changed: Moved Screen Space Reflections (SSR) to Deferred Rendering tab.
Changed: Moved Blur Slider to Light Softening.
Changed: Renamed and moved SSAO/Shadow Blur Quality to Light Softening.
Changed: Moved Extended Shadow Distance to the top shadow options.
Changed: Moved Depth of Field options tab below the SSAO options tab.
Changed: Renamed Ambient Occlusion to Screen Space Ambient Occlusion.
Changed: Moved Screen Space Reflections to indicate that SSAO is no longer needed.
Changed: Light Softening tooltip in Preferences to match that of the Sidebar.
Changed: Made Deferred Rendering toggle everything at once.
Changed: Machinima Sidebar layout.
Changed: Moved Water Reflection options in Sidebar to the Deferred options.
Changed: Reorganized and moved Display Preferences.
Changed: Renamed Level of Detail tab to Quality.
Changed: Renamed Performance tab to Rendering.
Changed: Moved Avatar Physics option to Quality tab.
Changed: Moved Anisotropic Filtering option to Rendering tab.
Changed: Moved OpenGL Texture Compression option to Viewer tab.
Changed: Moved Enable Fullbright option to Rendering tab.
Changed: Moved Render Unloaded Avatars option to Rendering tab.
Changed: Moved Render Attached Lights option to Deferred Rendering tab.
Changed: Moved Render Attached Particles option to Rendering tab.
Changed: Moved Draw Distance slider to Rendering tab.
Changed: Moved Particle Amount slider to Rendering tab.
Changed: Moved Terrain Texture Quality option to Quality tab.
Changed: Moved Sky Quality option to Quality tab.
Changed: Moved Reflection Amount option to Quality tab.
Changed: Moved Reflection Quality option to Quality tab.
Changed: Moved Post Process Quality option to Quality tab.
Changed: SSAO defaults.
Changed: Tone Exposure Red/Green/Blue defaults.
Changed: Moved and cleaned up preferences code slightly.
Changed: Make sliders use a background for the track from for left to the thumb position.
Changed: Nicer slider textures to go along with the new track backgrounds.
Changed: Layout of Edit Shape panel, cleaner and bigger.
Changed: Made some slight adjustments to Slider textures.
Changed: Use the correct reference to the Preferences separator image.
Changed: Visual separation and readability changes to Camera Preferences.
Changed: Visual separation and readability changes to Keybindings Preferences.
Changed: Visual separation and readability changes to Sound Preferences.
Changed: (Experimental) Enabled Materials rendering in reflections.
Changed: Make the agent recorder record 10 times faster, making it less of a camera/avatar jerk.
Changed: Version to 2.5 Alpha.
Fixed: Motion Blur not working on rigged meshes.
Fixed: Crash when rendering fitted mesh avatars with Motion Blur.
Fixed: Shadows on Alphas being broken/off.
Fixed: More shadowing on Alphas being broken/off.
Fixed: Motion Blur on alpha masked objects.
Fixed: Motion Blur on alpha masked rigged meshes.
Fixed: Motion Blur breaking on fitted mesh, fixed once and for all.
Fixed: A few more bind buttons being linked to the wrong slots.
Fixed: Freeze World always enabled when first opening the snapshot floater.
Fixed: Volumetric Lighting being broken/off since the shadow resolution changes were introduced.
Fixed: "Volumetric Lighting" being falsely written as "Volumtric Lighting".
Fixed: Shadows and lighting being broken when SSAO is off but shadows are on.
Fixed: Lighting being off when shadows are off but SSAO on.
Fixed: Shader level 1 soften light, alpha and material.
Fixed: Projector Shadow height not properly working.
Fixed: Underwater overworld image too bright. Taken from Alchemy.
Fixed: Fullbrights ignoring atmospheric haze. Taken from Alchemy.
Fixed: Description text box reaching outside of the script preview window.
Fixed: Right Shoulder Camera Preset sliders not working.
Fixed: Crash when defaulting the Right Shoulder Camera Preset.
Fixed: Differing lighting without SSAO/Shadows by forcing deferred shader level 2.
Fixed: Some layout inconsistencies in Machinima Sidebar.
Fixed: Alphas being broken on distance.
Removed: Unnecessary Motion Blur code.
Removed: Shadow Resolution Multiplier.
Removed: Experimental Code that slipped into the commit.
Removed: Commented out obselete, spammy keybinding debug information.
Removed: Shadow Distance blur (again), overblurs projectors way too much.
Removed: Ability to toggle anything below Deferred Rendering. Deferred on or off only now.
Removed: Ability to toggle Bumpmaps.
Removed: Ability to toggle Hardware Skinning.
Removed: Ability to toggle Post Process Glow.
Removed: Ability to toggle Vertex Shaders.
Removed: Ability to toggle Atmospheric Shaders.
Removed: Transparent Water option from Sidebar.
Removed: Vertex Shaders option from Sidebar.
Removed: Atmospheric Shaders option from Sidebar.
Removed: Hardware Skinning option from Sidebar.
Removed: Bumpmap option from Sidebar.
Removed: Post Process Glow option from Sidebar.
Removed: Basic Light Amount options.
Removed: Basic Options tab.
Removed: Basic display tab code.
Misc: Cleaned up sunLightSSAOF shader a bit.
Misc: Doing some cleanup in Viewer Shader Manager.
Misc: Doing some cleanup in the Render Pipeline.
Misc: Cleaned up softenLight shader a bit.


  1. I was waiting for the ''April Fools!" joke to come.

    1. I had quite some ideas for Aprils Fools, but i ran out of time and i haven't spend much time working on that kind of stuff, i was rather more serious about developing something for real.

  2. Hi thanks for your work. I think your viewer is best to take pictures. Especially the function to move the camera with the camera control, even when snapshot freezer is enabled. I hope you will never remove this feature. think your viewer is the only one to offer it. Is it possible that with this new update, several objects stay invisible, like my hair, some wall all around me, etc ?

    1. Did you enable Deferred Rendering as clearly stated as must in the blogpost?

  3. Question: should I even try Black Dragon if I am running on relatively low-spec hardware? Think 2013 or 2014 Intel Pentium or i3 CPU built-in graphics.

    I am looking for a new viewer with a nice minimalistic interface. I heard great things about Black Dragon graphics but honestly, I am not a photographer.

    1. From my experience this doesn't sound all too well, but you can try it. Make sure you enable Deferred Rendering, keep the other options off (Light Softening, Shadows, Screen Space Ambient Occlusion, Screen Space Reflections, Depth of Field, Motion Blur, Volumetric Lighting)

  4. AMAZING. Niran your 'dusk' setting is spot on.. bravo

  5. Hey Niran, it is me Soda Sullivan. I am taking the Alpha fora spin and i know you want feed back so i am really going to try and give you as much as i can. Both positive and negative.

    First thing I do is turn off the login video. Why is there. It makes me said and always "skips" on my potato computer. A cool graphic of a black dragon would be better maybe

    Graphics look really great! Sunset wonderful. I am full on heavy LOD mesh and still rezzed much quicker than before. I am still getting the weird shadow around my body that you helped me out with before.

    i have not even opened preferences or touched a setting, and this is a clean install, so are these the correct shadow defaults?
    After your ranting and cursing, I am getting used to the WASD to walk instead of arrows. It still kind of sucks, but i am getting used to it. It is too much like a video game. I was wondering. Currently, you can rotate the camera a bit while walking using the mouse. In earlier version, we could spin the view 360 degrees while walking in a direction. Is that still possible?
    The UL looks great, nice and clena and i love the colors. This is the one view i do not have to use Starlights custom UI in order to cange everything. Love the blue and gray. Dont change it you dick head! If only i could tell how many $L i had without having to open up my inventory window.
    Here is how it look for me right out of the box.
    https://gyazo.com/eeafa97d41dca6c4c8fe45c8805ce48d'Now it is time to go in preferences and mess everything up. Under graphics, I simply put every thing in the "blue" highlight box, and avoid the yellow boxes. With tone mapping added and all my changes, here is what we have now:
    I am getting a warning in preferences.graphics>deferred.
    "WARNING Shadows resolutions beyond 2048 may have a huge negative impact. They are set at 2048 and that is how they were set on install. What is going on there?
    also, Is there anyway to get the camera to automatically go in the direction my avi is facing so i will stop walking into walls?
    i had to set the derender avitar at 257851 or else i can't see any of my friends at all. i know this is our fault and not yours, but you have to wrok with what you have in front of you.
    my systems is
    AMD FX9TM) 4100 quadcore 3.60
    8gb ram
    GeForce GTX 760
    Monitor is 2560 x 1440 60hz

    I also wanted to ask, with monitor that size, what setting would your recommend for taking pics (ooooxoooo)?

    Anyway, i hope that ws helpful and did not sound too bitchy. Okay, maybe a little bitchy. But i love the viewer, will keep trying it out and appreciate your work

    1. About the "weird" shadows:
      Ambient Occlusion

      You are standing close to a wall, that's absolutely normal, the precision is not as good as it could be, but lowering the factor even further might actually break the look of SSAO altogether. Also that wall is single color and is bright, hence why it is so noticeable, in a normal scene it becomes much less visible. Those settings are fine, they are the default.


      About the warning:
      Yes, by default the Viewer uses a 4k shadow map for the second closest shadow map (it's the one you will see practically the most as it is pretty much everything from your Avatar to roughly 40-50% of your shadow draw distance. Therefor a single 4k shadow map for the most used visible shadow map makes the biggest difference in performance vs quality. It's quality gain outweighs the small performance cost massively. The warnings are just telling you that this might cause performance issues. MIGHT. It doesn't have to, but those might be the first things you should look after if you encounter heavy fps loss after changing settings in an empty test room where you previously had much more frames.


      Rotating the camera while moving:

      You never could, at least not the way you are looking for. There is a debug that allows you to change the rotation threshold for your avatar while moving, setting that any higher will raise the degree in which you can move your camera without making your avatar turn (for you) while moving, the same option is in preferences for mouselook and while standing. There are only 2 other ways to turn the camera while moving. One is abusing the faulty zoom mechanic by zooming on your avatar or an object and holding left click while releasing the alt key and then using the movement keys or by using the flycam which completely unlocks the camera.

      If you are talking about this feature here, that is as mentioned before an option in preferences - camera.


      About the camera not facing your walk direction:

      What you actually mean is changing A and D (Arrow Left and Right) back to rotate left/right. They are currently bound to (and where for over 3 years, back in Nirans Viewer already if you chose the Shooter Mode Layout) strafe left/right. You have to go into preferences - keybindings and change the keybinding for rotate left and rotate right back to A and D (Arrow Left and Arrow Right) and remove the keybindings for strafe left and strafe right, otherwise you will end up with a double bind and rotate and strafe at the same time.

    2. Continuation

      About the system specs:

      Except the CPU which is a bit slower than mine (because it's a FX Series, would be faster if it was Phenom), everything is absolutely fine and far beyond "potato", i got a GTX 670 and double as much RAM and a 3,4ghz Six Core (which is quite useless in SL), that's pretty much the only difference. With that setup you should be able to run the Viewer just like i do every day, with 1920x1080 and all every day fancies enabled at all times (Soften Light, SSAO, Shadows, Tone Mapping, Color Correction, Motion Blur) with roughly 30-60 FPS depending on your scene and your own avatar. Your own avatar can have an enormous impact on your framerate. You should have usable framerates in almost all cases, no matter where you go, as long as you keep the ARC intact and don't allow every willy nilly with 200.000 ARC to be rendered like you basically did by changing the derender AR to 257851. Don't complain to me when your framerates drop into unstable unusable single digits because your friends or visitors are performance hogs, the option is there for a reason.


      The stuttering login screen video:

      Normal. Absolutely normal. Nothing i can do about that. The rendering performance of the inworld browser is pretty much garbage and there is no fix for it. The bigger the browser window/resolution of a video, the worse the stuttering gets. The video is not there to run perfectly smooth like a perfect prerendered tech demo, it's there to give an idea what's possible with the Viewer realtime.