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.

Friday, July 13, 2018

Black Dragon 64x - Update 3.2.0 "Falling Dragon"

Note: Update 3.2.1 pushed to fix a startup crash if you had the camera window open on login.



Update time.


This time with more falling dragons!

Dragons fly you say? Not today!


Last week i made some much needed improvements to the animator, this week i'm finetuning and fixing more tiny things here and there.

Most importantly clicking the "Play" button too early (when the list is empty) shouldn't crash the Viewer anymore, in fact you won't even be able to click it anymore until you add at least one step.

Also in the poser you can now move the pelvis further around, 20 units rather than just 5 units, this was necessary for my latest video as well as something completely new...

...something i wanted for quite a while and you can finally do it, the camera floater now has a dropdown in its "camera modes" tab in which you can select any of your 134 bones to force the camera to follow it based on your current camera preset's offset, i added it now because again it was absolutely crucial for the video i was making.



You'll probably remember the falling scene i made last week, i extended it twice, all the way down to the ground. Poor draegn is ded.

This update also brings the Viewer on par with the Second Life Viewer 5.1.7, the latest official release again, almost fully untested of course, if you find any bugs or issues report them and i'll see what i can do to get them fixed as soon as possible (like the above mentioned play crash).




Sunday, July 8, 2018

Animator and what to do with it...

I've been hard at experimenting again and i'm digging up some interesting things that got me some interesting ideas.

What if i told you that it would be possible to make a UI for a full animation editor, like QAvimator inside SL? Technically you could take any animation that is running, read it out and fill the UI with all necessary information, keyframes, rotations, positions, time values and allow you to edit them, fully, imagine you could edit a running animation, move around its keyframes, change rotations and positions not only would this be the ultimate and only animation editor inside Second Life, it would also give mod permissions on animations a right to exist.

Making a functional and sensible UI for this is probably the biggest challenge of this. Not only would it require a lot of time to build, it would also require a lot of time to test and make it functional, fill it with features that are needed to make working with it as easy as possible.

Being able to fully edit running animations...

How would it look... how would it work... would this even be worth making?


Who knows. Maybe i'll get around to do it, it would help immensely getting the exporter up and working.

Friday, July 6, 2018

Black Dragon 64x - Update 3.1.9 "Falling Dragon"

A dragon never sleeps. Unless it sleeps.



Continuing on last update's work this update brings another bunch of improvements for the Poser, specifically it's animator feature.

The animator was always kinda... not very persistent, the moment the window was hidden the animator stopped working, that's because the main loop for the animator was written into the draw call for the window as it is the only call that was periodically called, problem was that as soon as the window didn't call the draw call anymore, such as when the UI is hidden or when it was closed the animator would stop... animating. Bummer.

NOT ANYMORE! BEGONE DRAW CALL NESTED ANIMATOR! I separated the animator from the main window's code and made it its own thing that can be called from anywhere in the code. This means the animator will now persist beyond the existence of the very window that houses its UI, this is especially useful if you want to ... well record your animations without the UI. Now you can! To show it off i made the very first fully-UI-less animator animation, no edits, no hacks, no tricks! It's 100% made inside the Poser.

I used the magic of the internet and put some fitting music to it as well!

You can see the version with sound here


That uh... well that's pretty much it already but i made a few more nice pictures for you!




Saturday, June 30, 2018

Black Dragon 64x - Update 3.1.8 "Repositioning Dragon"

I've spend the last few days with Nat Linden to rework large parts of the Poser, tidying up code and making it nicer, faster, safer, smaller and more modern.

Besides a totally internally revamped Poser (as well as the Complexity and Animation Manipulation window) i spend some time getting the next big feature rolled into the Poser, POSITIONS. You heard that right, POSITIONS. You can now move all bones which support bone positions around in addition to rotating them. Obviously this means you can do a lot of silly stuff now, poses will also save positions now and old poses will be compatible BUT, if you move bones around and load a pose that does not have position info it will keep the last position info active, meaning if you put your legs on your face and load an old pose, don't expect the pose to undo it, you'll have to either undo it manually or by stopping the Poser.

Did i mention? Stopping the Poser now resets your skeleton and resetting bones is now split into 2 buttons, you can now reset rotation and position separately. Also rotation and position sliders have been split into 2 tabs to allow both of them to use the full width of the window for maximum precision when editing via dragging!

I suppose you expect a silly picture now.


Here goes.

In case you're wondering how much of the poser code was changed...


All the green lines are changed codelines.

Also in case you missed it, i made a video to showcase the new poser for Linden Labs. It goes without saying that now with the position possibility it's already outdated again.... this is why i didn't make a new one all this time...ohwell...



You'll have some fun with it... and oh... don't press the big red..*explosions* oh... *more explosions*.. oh...uhm... well the advice may be too late for that eager guy over there but not too late for you, please don't press the big red button with the big white skull on it. No seriously, you don't want to be THAT guy...what? that one guy... the one who just exploded. Yea that guy, you don't want to be THAT guy.

Also, i'd like to remind you again that there's a discord channel and some users have been posting excellent pictures, a special shoutout to Beev Fallen who has made some absolutely stunning stuff with materials! You can also get help there much easier too.

Another thing i'd like to say is a big thank you to all those that continue supporting me via Patreon and of course everyone who has done so in the past. You're awesome!

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.