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.

Wednesday, June 20, 2018

Tuesday, June 19, 2018

Black Dragon 64x - Update 3.1.6 "Selective Dragon"

Time for a new update and some stuff i'd like to go over.

This time it will include a non-AVX version again.


For this update i've completely overhauled the entire Poser window again, i split it off from the Animation Manipulator (both are now separate menu entries and windows) and made some major changes in how you navigate the Poser, you'll notice 2 distinct new things in it, a big long button on the right, this will open both the pose list as well as the animator, both needed to create basic animations as before, now however they will replace the main layout. There's also a new button that when pressed will open the pose list separately and extend the window to the right, allowing you to save, load and make changes to poses quickly without having to navigate between tabs constantly. This change was made for the upcoming official implementation and i thought it would be a good idea to clean it up a bit when i'm splitting it off. Feedback is welcome.

I fixed two small issues reported to me, such as "High Precision Normals" not immediately taking effect and the Sky "East Angle" spinner not working properly, while doing so i fixed several tiny other things in those files as well and increased the precision you can control the "East Angle" with.

The rest is mostly just internal cleanup and preparation to bring the Poser into official which brings me to the next topic:


The Poser is going to Linden Labs. I've had a first meeting yesterday, we talked a few things through, talked about some problems and how to possibly fix them as well as some rough plans how to build on this feature in the future. The bad news is, as it stands now it doesn't look good for server side synchronization. This is a major bummer as it was number one reason to make it official in the first place, on top LL is also very interested in a proper export feature which will in turn bring its own set of new issues regarding permissions and the ability to copy/steal poses (not that they are worth anything anyway when everyone can just create them at any time anywhere). My biggest problem with the missing synchronization and added exporter is that it will look like a money grab to people and i'll basically the one on the chopping block for this. Don't get me wrong, i got no problem putting my head on a chopping block if i think its worth it (such as turning all pose makers against me because their poses are now useless now that everyone can create them easily). I don't want my head on a chopping block though if its just for the sake of making me look bad and that's what i feel this is going to end up in. People will be happy to hear the poser coming to official, then they will be sad and disappointed that it does not fix it's on flaw, that it's completely local, and instead i offer an exporter that makes you pay 10L$ every time you want to show a pose to someone, regardless of whether you are ever going to use it again or not, not to mention that the original goal of the poser, fixing misaligned and unfitting poses would ultimately be destroyed with the exporter feature. Why is this? The exporter requires some changes to the poser that will limit its usage depending on certain conditions, one way LL suggested would be checking all running animations and whether you got permissions for them, what sounds nice is actually a very very tricky and most likely already failed attempt at limiting the poser, checking all running animations for permissions and then disabling the exporter means you'd never ever be able to export at all, completely eliminating the export from the get go and thus eliminating any way to show a pose. Then my own suggestion was to put you into T pose, so in order to "copy" a pose you'd have to make it from scratch, that way it would be truly yours, even if it was exactly the same pose, you made it, it's yours, the problem with this approach is that it destroys the posers intend of giving you the ability to easily and quickly fix unfitting poses, it would be a disaster, you'd need to create a whole new pose when you were just trying to fix your current pose real quick. Imagine sitting on a chair and your legs and hands clip a bit, in order to fix this you'd have to recreate the entire pose from scratch, this is less than sub-optimal, this is horrible design and goes against what the poser is supposed to do. Besides, the exporter on a user perspective is a huge cash grab, every time you want to show your friend your pose, you'd have to upload it, 10L$, every time you make small adjustments, 10L$, every time you go to a club or any other place, sit down and fix up your pose you'd obviously want everyone to see it, 10L$, quickly you'd be paying 10L$ for every step you make and the poser would quickly be disregarded as a quick cash grab with a big flaw, in this case AnyPose would win and you'd still be required to pay 1000's of L$ for this tool to make rough poses.

I don't like this. I don't like this at all.

I made the poser to fix up broken or unfitting poses on the fly, i made it quickly accessible and easy to work with so anyone can do it with some time and patience. It's only flaw is the inability for others to see it and without doing some hacky Viewer-to-Viewer networking there is no way for me to achieve this, i absolutely NEED server side synchronization to make this work properly, the exporter is NOT an option, neither a replacement nor a workaround. It's an optional feature to expand upon the poser and use it for permanent content creation and content sharing.

A big issue with poses created with the poser is that it allows fine tuning any pose so much that you can create poses that are perfectly fitted for your very own avatar and possibly a very specific scene and position or even another Avatar, this pose is completely unique to you and this very situation, uploading it would be completely meaningless, no one else can use it because it does not fit them and even with the poser they wouldn't be able to fix it because the poser wouldn't allow re-uploading the pose again unless you gave permissions and lets be honest, in the current situation, who gives mod permissions today? No one. This is a HUGE issue.

I will definitely keep pushing server side synchronization, i will talk with the Lindens again about this but even if we get it we most likely won't get it in the first iteration, it will be a major project that is going to be something i'll be working on over time, i'll be pushing more updates, improvements, fixes and such as i test them out in my Viewer and as time passes on and new requests and feedback both from Linden Labs and other users come in. I sure hope this is worth it.

Saturday, June 9, 2018

Black Dragon 64x - Update 3.1.5 "Selective Dragon"

Another round of fixes.

This small quick-update fixes the selection outlines not looking as they should when Show Hidden Selections was disabled.

This update also fixes the "Tail" category name in the Poser missing as well as some weird behavior in the animator that made it refuse to work properly for some people, it also improves the control button handling, buttons should now enable/disable themselves properly whenever the right conditions are met.

Much thanks to Spiritus and Richard for helping me debug this weird animator issue.

Friday, June 8, 2018

Black Dragon 64x - Update 3.1.4 "Selective Dragon"

A quick hotfix for the scale/rotation widgets being opaque in the latest update. Read the previous post for the rest of the changes.

A fix for "Beacon" and "Dragon" looking the same and all other styles looking completely different than what they are intended to when "Show Hidden Selections" is off will be worked on soon, it will also allow me to make them look exactly how i wanted them to look in the first place now that i figured out what happened.

Thursday, June 7, 2018

Black Dragon 64x - Update 3.1.3 "Selective Dragon"

Another update, almost a month later.

I'm sorry this is taking so long lately, updates start out small and then something new happens and it carries me away completely. This time i just wanted to merge the latest LL code but found an interesting changes so i dug deeper and started playing with selection outlines which led me to make several doing this and testing a bit around took me a week alone.


So lets get right into the meat of this update.

First and foremost the biggest change you'll see is when you start selecting something, whether it is just right clicking something or opening edit/build and having a selection up, you'll most likely come across a mesh you'll select and you'll notice that the selection now looks completely different. With the latest code merges LL changed them because it was hard to work on alpha surfaces with media prims or something like that. I found this change very interesting and explored a few... alternatives on its look. I made 5 presets to choose from, Black Dragon being the new default.

Beacon of Light

Black Dragon

Wireframe

Dots

Linden Labs Default

Furthermore i found the culprit of the massive framerate drops when selecting something... especially Maitreya and Belleza bodies. The Viewer updates the selection transformations as fast as it can resulting in massive lag when unoptimized bodies such as Belleza come up with 1.7 million polygons. To lessen the impact i reduced the update interval to 5 seconds and added an option to toggle it off completely, you'll see selection outlines becoming desynced from the bodypart when they move, mostly when selecting other people's stuff, it should be fine on yourself though as your avatar stops dead in its tracks the moment you select yourself. I recommend keeping the updates on unless you are fine with selection outlines not matching up with rigged mesh. This improves performance infinitely. An example: with default as-fast-as-possible update rate i get ~0.2fps when selecting Belleza, with the new 5 second interval i get 8 fps with a 2-3 sec freeze every 5 seconds, with updates disabled i get the full 8 fps without freeze. That's a massive improvement. Here's an example on my Avatar.


Notice how selecting my avatar doesn't have a big impact on my framerate.

Then, with the help of one of my users as well as the working shader error messaging now i could find out which shader is preventing Intel GPU users from enabling Deferred Rendering. The faulty shader has been fixed and all limitations in the preferences panel have been lifted you should now be able to run the full feature palette Black Dragon has to offer, regardless of your GPU. HOOORAY!

The poser has gotten some improvements as well, mostly code improvements, performance improvements and cleanup, ontop of that it now has icons and folders to "group" and categorize bones into sections, this is to help people get an idea what joint/body part this weird name might be you're currently trying to edit. Tell me what you think.

The complexity window has gotten some major fixes, double clicking attachments in the list now selects them, this goes very well with the new improved selection outlines and performance improvements, triangle and vertice counts as well as the complexity numbers will no longer become unreadable when they go too high either, finally you can read that your 5 quadrillion polygons properly.

Lastly i want to mention an issue with pie menus that made them hard to use when using any other UI size than 1.0, this should be fixed now too.


Saturday, May 19, 2018

Black Dragon 64x - Update 3.1.2 "Rolling Dragon"

This is going to be just a tiny little update.


Mostly just crash fixes and under-the-hood improvements from Linden Labs. Nothing fancy to show off but if you find issues, particularly with IM delivery do tell me, they changed quite a bit there and i haven't had extended testing sessions yet.

As always a fair share of nice pics i did since the last time. (I still wish i could make the poser work on others... someday maybe.)


Make sure you hit that "Gear" icon and enable HD.






Saturday, May 12, 2018

Black Dragon 64x - Update 3.1.1 "Rolling Dragon"

This Update took way longer than i wanted.


A lot of stuff happened since the last update, shortly after the last update my GPU began to show it's broken state more and more, with more games and applications simply crashing leading up to until a few days back when my GPU failed so hard that it started crashing even on my own Viewer and ultimately crashing so hard that it would lose the monitor signal and not recover from it, forcing me to hard reset. If it wasn't for my very generous brother who just so happened to gift me a new GPU early for my birthday which is on the 22rd this May, just in time as my GPU basically exploded.

RIP GTX 670.

You served me well for 6 years. You pulled through all those demanding games and showed everyone that big numbers aren't everything, it is sad to see you go due to a power supply unit failure. You made SL look so amazingly awesome on such a low-entry GPU and you managed 60 FPS too.

o7

Farewell old friend.



Now that we got this done... i'm now running on a shiny new GTX 1060. Needless to say that the framerates in SL have drastically improved...not. OFCOURSE NOT, as anticipated already. Getting roughly 10-33% more FPS but Screen Space Reflections can now be pushed all the way up to max, Depth of Field however still instantly burns it down to ashes.

Fine then, to the update then.

This update i finally got the login screen video redone and improved with the newly released full version of the song i used. (This was still done with my dying GTX 670). I think the new one is a much welcomed improvement but see it for yourself.



The full song can be found here if you're interested.



Next up is the sad announcement that i will not continue the customizable sidebar. Instead i will remove it for now. The reason for this is that i wasted multiple weeks trying to fix a big performance issue with the customization process without any success. Whenever you changed something in the sidebar it was rebuilt and added ontop of the previous built, hiding the old panels, this caused the sidebar to accumulate more and more invisible panels which had to be iterated through causing increasingly longer freezes as the Viewer was rebuilding the sidebar. I wanted to make it so it actually removes those panels but this caused a crash every single time and trying to fix it showed absolutely no success nor progress for 3 weeks. Since i can't continue trying to fix something and delay the update i chose to scrap the feature and instead focus on other things.

This brings me to the Poser which has gotten another round of some much needed improvements. Rotation orders are gone, rotations are much better, rotation sliders are bigger now for higher precision and compatibility with old saved poses is there too, the Motions and Animation tabs have had some improvements too, their lists will now properly show a scrollbar when really needed. Bone rotations should be properly interpolated now and shouldn't interpolate for too long for a snappier feeling.

Besides the poser getting some much needed extra love there are some changes all over the place, changelogs for instance are now hidden by default so you can enjoy the login video on your first start and the Avatar Render Settings tab has had some improvements too, you can now select multiple people and change all of their render settings at once via the new options menu button at the bottom right. Mass changing hurray!

I'm really sorry this update took so long. Viewer development should be back on track now and better than ever! However there's still one last thing to do very soon. Burn down my current Windows installation and do a clean new Windows installation, install all the necessary stuff to compile the Viewer and have a fresh, faster and better Windows than ever.

I'd like to use this chance to remind you that there exists a Discord Server where you can get help and share pictures. Quite some people have been sharing really nice pictures so far! Which reminds me, i made some more too.






Wednesday, April 18, 2018

Black Dragon 64x - Update 3.1.0 "Rolling Dragon"

Last bugfix focused update for a bit.



This update fixes a bunch of rolling related issues, for once Save Camera will now save the rotation, loading it again after you already loaded it and the camera has come to a complete halt you'll load the rotation as well, this way you can load position and rotation independently. Also the camera floater now has roll buttons for those who...use the onscreen controls.

Further improvements to shadow accuracy on different altitudes, hopefully the last for a while, as well as slightly higher default shadow resolution on the last shadow map and a slightly smaller default shadow range for the first map resulting in overall better shadow quality.

The light toggles will now persist over sessions, the volumetric lighting tab and its options are enabled again and clicking default on the new camera roll option should no longer crash. Media and Music volume have been lowered down to 20% by default and more cleanup has been done all over the place. Last but not least rigged alpha masking now works on the water surface when looking through the water surface down onto something below it.

This update merged in all the latest LL code including the latest CEF changes which now doesn't flash white anymore when loading but instead will default to black, this especially helps with the login screen flashing up white for a short period of time when first starting the Viewer, yay, that was really annoying.

Cleanup, cleanup, cleanup, stuff, cleanup.


Sunday, April 15, 2018

Black Dragon 64x - Update 3.0.9 "Rolling Dragon"

We all hate boring updates don't we?



This is why this new update includes 2 weeks of banging my head against the metal wall that makes up my cozy little parcel place.

2 weeks of banging my head against the wall to bring you something that i had pretty much working right away just in the wrong order but instead chose to try all kinds of ways getting it to work just to find out once again that the solution was there from the get go. I was literally joking about this when i started.

But here it is!

THE MUCH REQUESTED (not really) CAMERA ROLLING! (Hover over it, gear icon and hit HD)



Default bound to Shift + Q/E you'll now be able to roll the camera just like you can do with a controller but now you can finally do it on keyboard too, no need for the flycam. This is something i wanted to do for a long time.

But this isn't over yet, with working camera rolling i simply had to add it to the Cinematic Camera mode too. Have a BLURURURGRGRGRGRGRGRGRUURGRGLRLRLRGR....



Isn't it BLRURGRLLGLLRGRLRLLRLHLRLRLGLGLRLRL...

Amazing! And you can set how much the camera is allowed to roll, by default its set to 0.85 (roughly only 15% strength), setting it to 1 disables it and 0 allows... well see above. This is what SL always was meant to be.





Now if you excuse me ...ohwait there's still more!

I reorganized the keybindings so they'll be listed much more logically now. Both this and the new default camera roll bindings will only work if you've never changed your controls yet, you'll either have to reset them or add all extra controls manually.

Furthermore i added Intel GPU detection, the Viewer will now display on both the login screen as well as preferences that you are using an Intel GPU, if you are using one currently. If an Intel GPU is detected all options starting at Deferred Rendering down to the very last display option will be disabled and you will be unable to toggle them as they don't work anyway, at least currently, why? i don't know but the newly added shader error logging might just tell me what is happening, so if you are using an Intel GPU and you want to help me possibly fix this, open the debug settings and force enable RenderDeferred, then send me your log file (best would be in Discord because it's super easy there).



Some feedback from Skyler Mews regarding the transition time when using "Zoom In" in the radar tab was addressed and it should no longer take up to 10 seconds (1 second max now) to zoom in on someone no matter the distance.

Great news also to those very few people who cannot run the AVX version, i'll be recompiling the Viewer non-AVX sometime later, figured it would be a great time to do this.

And the rest of this update is just a big bunch of commenting, organizing and cleaning up my code. Even code wants to look fancy, even if no one ever looks into it. It brings joy to know that your stuff is well organized and looks clean.




Wednesday, April 4, 2018

Black Dragon 64x - Update 3.0.8 "Dark Dragon"

"This is no ordinary darkness, this is ADVANCED darkness."


Phew finally.

Still a bugfix update, possibly 1-2 more coming before going back to working on the sidebar again.


Be sure to click the "Gear" icon and hit HD for that sweet sweet quality.


So this update comes with a bunch of debug changes, MU pose chat is now disabled by default, artificial delays after teleport for the sake of precaching are disabled now too and quite a host of debugs have been removed as they serve no purpose anymore.

The Joystick floater has been slightly updated.

Some optimizations in the camera animation code have been done particularly regarding the cinematic camera, mouse smoothing and third person steering mode, they should no longer do slow debug setting calls hopefully improving and stabilizing performance a tiny teeny bitsy more while moving the camera around, you probably wont even notice unless you have nice 60 fps like i do.

The toggle for projector shadows can now be toggled regardless of mod permissions and invert pitch in Mouselook option has been slightly relabeled for better wording.

A bunch of reported bugs have been fixed including, the "Refresh" button in windlight editors not working (in addition they now refresh when reopening them), a crash that occurred when you clicked "Change Selected" without having something selected, the Avatar Mute Settings don't refresh when you change them in preferences and....ohwait that was it.

On request i also added a pitch invert option for third person mouse controls and i added a few first steps to hopefully enable camera rolling with keyboard/mouse controls soon without needing the flycam.


I still got quite a few things planned, Intel GPU warnings, better custom sidebar, camera roll, camera recorder window, possibly some improvements to the complexity window (like actually showing names of other people's attachments), camera offset for mouselook and more optimizations of my own code and stuff in the UI. We'll see.