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.

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.