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.

Saturday, May 30, 2015

Black Dragon Viewer - Update "Building Build-tools"

A wise Niran once said: "This Viewer is not focused on building." - "Why are you redoing the build floater then?" you may ask. I tell you something, this Viewer is all about the fancier fancy fanciness, a good UI is fancy and functional and since the UI is already functional, there is only fancy left.

Ok, lets get this started with a poem i wrote for this.

Yo listen up, let me tell you a tale,
about a guy, with a fluffy long tail,
all he wanted to do, was fix the build floater
to make it less of a big bloater,
he changed the layout and design,
he moved away the checkbox for "align",
pushed down a bit that separation line,
reduced the size of tabs until they were fine.
When he started working on the general tab,
he noticed that the alignment was completely crap,
he moved widgets a bit and made their purpose obvious,
until everything in there looked flawlessly gorgeous,
he moved on to inspect "object",
and got those checkbox offsets checked,
those spinners were also quickly fixed,
over time they got a little bit betwixt.
When he saw the "features" tab layout,
he got real nervous and looked for a way out.
It was not better by any means,
tho he never gave up any of his dreams,
that maybe some day,
all the panels will look okay.
He continued to the "texture" tab and said,
"i will skip this for now and do the "contents" tab instead".
Quickly fixed until it posed no more thread,
he hacked away those offsets til they all were dead.
He said "This is it, the texture tab it is, now or never,
i can't just delay it until forever",
he already changed the layout quite a bit,
long ago when materials was introduced to the grid,
he had to redo it entirely regardless of what he already did,
the layout was still lacking he had to admit,
he tinkered and hammered away,
and came up with a completely new way,
he used all the tricks the V2 UI offered,
to fix all the problems that bothered.
At the end he was a happy guy,
so happy that he had to cry,
the pure perfection that his work was,
had absolutely no flaws.
Awwww. Ok, moving on ~

Unified Build Floater

What has changed? Quite a lot. Basically nothing at the same time.

I have completely redone ALL panels, every single tab, every tool, realigned all labels, all spinners, all buttons, all checkboxes, all dropdowns, all sliders (YES SLIDERS) and cleaned up the look massively.

I added the ability to lock every texture channel (diffuse, normal map and specular map) invidually and i had some extra space i used for adding the options "only select my owned objects" and "only select physical objects". Yay! The best of all, no squishing and squeezing stuff in between somewhere like you used to see everywhere in every Viewer, until now. Everything is designed to look "the same", one unified design, made in one run, no several designs out of nowhere, every situation, every combination has its very own unique design, if theres a checkbox below another checkbox then this checkbox will have exactly 1 pixel free space inbetween. There are buttons next to each other? each of them has only one pixel space inbetween and they are on the same height, usually at the bottom to form some sort of "bottombar". You'll see. I tried gathering as much feedback on the new layout as a certain people person who continued to bash me for showing no initiate to fix stuff whatsoever allowed me to ~ i'm talking about you Ansariel, i was willing to help you, more on that later.

So without further ado here's a set of images that will show you the new build tools floater.

Unified Snapshot Floater Improvements:

The improvement-set i started with the previous update is now complete as well. The new improved snapshot floater now has a high resolution preview, just like the separate preview, which won't show up in your snapshots anymore from now on. Inara also reported a bug that you weren't able to switch the snapshot format in "save to disk" which should be fixed now.

Future Plans:

I'm going to stop developing this Viewer actively soon. Boom. I just dropped the bomb. it was obvious it would happen at some point. Why?

I'm burned out.
My enthusiastic view of SL is broken, shattered like a mirror.
SL has made almost no technological advancements over the past years. Materials was the best.
Most content creators build shit.
Our content creation base is massively hosed and LL doesn't want to fix it in fear it could break old content.
Most (that means more than 50%) of the community members are shit. They have wrong priorities, broken needs and no quality requirements.
Many good content creators are driven out of SL (or left already).
I'm not paid to do any of this. At all. Including taking the bashing.
Many more...

As i said in one of the previous posts somewhere some time ago. 2.4.5, that's the magic number. 2.4.5 will be the last update. 2.4.3 will be the tools chain update and a merge with all the new stuff from LL's latest releases. Not sure beyond that.

So now that the bad news are done, some good news.

I'll commit my tools floater redo to LL after i merged the tools chain update. Same for the new snapshot floater improvements.

I'll discuss and demand disabling automatic deferred alpha masks in the official Viewer as it is one of many causes for issues, we have today. Let me say it this way. 95% of all private, non-well-known content creators who create skins for Avatars create a broken, messy alpha sorting monster. They tend to forget to remove the alpha channel from their uploaded textures, resulting in the server flagging it as alpha texture. Visually, it makes almost no difference in most cases, unless you disable the automatic alpha masking feature which will show how these objects truly look, without any hacky fixes, it will look broken, it will be lit differently, it will show no SSAO and possibly other advanced features and the worst of all, it bloats the texture with an alpha channel that doesn't need to be there, that's unnecessary information that has to be downloaded and stored affecting you the user.

Other stuff?

Oh yea... Ansariel. Screw you. I know at least one on the Firestorm Team will read this sooner or later. I'll tell you how this goes. I add/change/remove something and test it. If it works: I'm done. If it doesn't: Fix it. Release it and work down the feedback, given there is any. If i don't find any bugs while using it and if users don't find any either, there's nothing for me fix. I'm not doing any stupid speculative work on potential fixes for issues that could potentially come up in the future with a very specific setup at a very specific time on a very specific day in a parallel universe. It either works or doesn't and if it doesn't i'll fix it, given it is reported at all and i am able to fix it. This has nothing to do with "no initiative to fix stuff". No known bugs = no working on fixes. I don't have time to sit there and click a checkbox 5000 times in a row to check if it doesn't break or crash after 100 uses (my poor mouse is being clicked way too often already). I'm also trying to get RL, SL, development and gaming under one roof here. I tell you how proper development works. You make something, you release it, people break it so you can fix it. You announce it, you tell people hey, here's a new toy, its new, use it, you might break it, if you do so tell me how, i'll try fixing it and don't forget to write it into a changelog. Transparency is key and a fully transparent development includes involving the community right from the start. You should search of "Path of Exile" and see how they do it. They let people break shit all the time and it works perfectly, but then again their community is not as shit as SL's where people complain that they die if they don't have a certain feature as if it were oxygen they need to breathe.

... ugh yea, ranting every day, it will never end, some day i will spontaneously burst into flames and die a slow painful death because i'm boiling so much and so often.


Changed: Always use the high res preview, filters look less broken that way and the preview looks sharper.
Changed: Redone the entire Build floater layout. "Unified Build Floater"
- Changed: Realigned all widgets.
- Changed: Fixed all inconsistencies.
- Changed: Some widgets to another type, spinners to sliders, checkboxes to buttons etc.
- Changed: German translation for some labelsto better fit the new layout.
- Added: Select only my own objects checkbox.
- Added: Select only physical objects checkbox.
- Added: Ability to lock all texture channels invidually.
- Added: Lock checkbox image.
- Added: A bunch of labels and descriptions where necessary.
- Added: Separation lines to logically group options together.
- Added: A bunch of German label translations.
- Fixed: Some inconsistencies in German translation.
- Removed: Tool description header line.
- Removed: A chunk of code in build floater and cleaned up some things. Could use a mass-cleanup.
Changed: Increased Tone Mapping custom slider max values.
Fixed: Big Preview shows up in snapshots with UI.
Fixed: (POTENTIAL) Don't crash if we have an invalid attachment index, just assume it's empty and continue.
Fixed: Unable to change snapshot format in "Save to Disk".

Saturday, May 23, 2015

Black Dragon Viewer - Update "Snapshotception"

Yo dawgs, i heard you like snapshots.

So i made a snapshot of your snapshot,
so you can snapshot snapshot'd snapshots.

So actually i wanted to release this update yesterday on the 22. ...but... stuff happened. I was thinking of adding the long promised lock offset feature to materials... turns out i had to rewrite quite a bit.

As said above this update brings the lock feature, it can be found right above the "Planar" checkbox, when ticked it will copy all changes to all texture channels, if you change the texture offset X or Y, it will do so for diffuse, specular and normal map at the same time! Woohoo. Note that this might cause the spinners and/or faces to revert sometimes, this is NORMAL behavior, it's due to lag which was already present long before this change (sadly). Usually happens if you use the spinners via mouse repeatedly, to prevent it most of the time you should type in your desired values directly and press enter ONCE then wait a bit.

Other than this feature there has been an overhaul of my unified snapshot floater, changes include: an option to save the snapshot upload type, freeze the world, fixes for auto-refresh, file format changes when switching to profile/inventory upload and back and the ability to show the snapshot in a separated, resizable, movable texture preview among several others changes and additions, you can read the full changelog below.

Note that the external preview is currently rendered in UI snapshots. I will fix that in the next update, i really want to get this out so you can start testing all the new cool things.

This update also sees the inclusion of my experimental cinematic camera, which is currently ONLY available via debug setting - UseCinematicCamera. Use with caution, you might get motion sick!


I know you like pictures showing the visual superiority of this Viewer you'll for some reason never manage to set up yourself but always refer to if someone asks you. Note that the above freeze world feature video shows how i set up the last one.


Snapshot Floater enhancements:
Added: Remember last snapshot mode in snapshot floater.
Added: Ability to use the separated, resizable big snapshot preview to the main snapshot floater.
Fixed: Flickr, Twitter and Facebook floater not showing in Mouselook without disabled hide UI in Mouselook.
Fixed: Motion Blur not resetting properly.
Fixed: Rotate Thresholds getting set to 0 on first floater opening.
Fixed: Auto Refresh not working, it is still buggy though.
Fixed: Autosnapshot not working. It still is a bit buggy, does 3-4 snapshots in a row.
Fixed: Snapshot file format changes to JPG when switching back from 'Save to Inventory'.
Fixed: Snapshot floater handles freeze world again when we press the shortcut while it's already open.
Changed: Slight layout changes to Snapshot floater.
Changed: Freeze Frame into Freeze World, it will now freeze the entire world and allows proper camming around.
Changed: Do not intercept any mouseclicks at all when the snapshot floater is open.
Changed: Unified saving snapshots to disk and as texture.
Changed: Made Freeze World non persistant over sessions.
Changed: Don't change our settings when we enter Freeze World mode, instead just set those values directly for as long as we are in this mode.
Removed: Fullscreen preview from Freeze Frame, it was broken and laggy.
Removed: Fix for Freeze Frame in Report Abuse floater.
Removed: Freeze Frame and Fullscreen preview condition from auto-refresh.
Misc: Slight cleanup and removal.

Added: Experimental Cinematic Headtracking Camera. Wobbly fun stuff.
Added: Checkbox to lock all offset, scaling and rotation spinners for all texture channels together.
Fixed: Quick media button not working anymore.
Fixed: Particles sometimes flashing white. Found by Singularity.
Fixed: Screen frame in frame when Volumetric Lighting is enabled and DoF resolution is smaller than 1.0.
Changed: Allow holding ALT key to restore old pie menu behavior and allow menu's in Mouselook for future changes. Menu's currently don't work as they are blocked elsewhere still.
Changed: Slight optimization to directional volumetric lighting shader code.
Changed: Cleaned up my old Rotation Speed feature a bit.
Removed: Defunct "ShowMiniLocationPanel" Debug Setting.
Removed: Defunct "SecondLifeEnterprise" Debug Setting.
Removed: Defunct "RenderHighlightColor" Debug Setting and code.
Removed: Defunct "RenderHighlightThickness" Debug Setting and code.
Removed: Defunct "RenderHighlightBrightness" Debug Setting and code.
Removed: Defunct "RenderHighlightFadeTime" Debug Setting and code.
Removed: Defunct "RenderHoverGlowEnable" Debug Setting and code.
Removed: Defunct "RenderShadowSlopeThreshold" Debug Setting.
Removed: Defunct "RenderShadowNearDist" Debug Setting.
Removed: 0.2m minimum distance over and below water surface, we can smoothly transition through water now.
Removed: Limitation that prevented the camera from being smoothed when moved really fast (example: when zoomed out really far).
Removed: Some leftover code that is now obselete.