Layers are on the way
I currently worked on layers for BlackInk
This is the number one Uber priority feature who everyone request.
The engine is already shipped on the public version but the feature is not exposed because there’s still some work on the interface.
Today I just finished the implementation of the proprietary file .BKD ( for BlackInk Document ). Who will contains all layers datas ( who can’t be preserved in simple .png file ).
I don’t have the time for the moment to handle a real .PSD file but it’s an option for the futur.
To test the current layer functionality I did this little painting using a reference image, different brushes on different layers. Nothing special except the colors who are more vivid than ever ( compared to BlackInk prior version 0.111, ).
it’s been almost 2 months I work on a new brush rendering engine for BlackInk.
I spend most of the time to rewrote the way I do the AntiAliasing for brush primtives, the way I store the tiles of the canvas ( I compress it in real time in memory to keep the possibility to brush on 10K canvas in 32bits ) And I have added the support for Layers & 64bits color ( 16bits by component ).
Its was a big refactor work who nearly come to an end.
Here a sample of what I can do with the new version of BlackInk :
when it’s Friday evening and I don’t have the energy to start a new coding session I just open BlackInk and relax ;)
Here come my first picture made thanks to the new Controller Editor
made by u2bleank
The controller editor is enriched by new operators ( the list on the bottom left of the picture )
The user can define precisely the behavior of each parameter of his brush.
Here Benoit Onillon has made a Ghost dog in few second after he create a custom behavior for the default brush.
I’ve added more operators in the Controller editor of Black Ink.
I can now save and restore the graph and Undo/Redo all operations.
But there’s still some missing operators and features for a public release
Another sample of our block system who will be used in the next version of BlackInk
kaldap asked: Hello! I just found your article about stroking quadratic curves. I'm currently trying to implement it for my bachelor thesis, but with all my aproaches I fall for some bloody hacks to handle the antialiasing correctly. Could you please tell me which method you used (if that is not company secret :))? I don't need any fancy implementation details, just the main idea. Thanks in advance! Petr K.
For antialiasing I compute a 1 pixel wide geometry around the Quadratic triangle ( you can see the triangulation here ).
It’s not trivial like you say because you must handle some case ( like 2 quadratic triangles who are touching each other at vertex position ) + taking care of the direction of the implicit surface ( is it convex or concave quadratic triangle ) to make sure the geometry cover each needed pixel for anti aliasing.
It took me quiet some time to adress all the case and even with it I got some case where the AntiAliasing isn’t correct ( when a triangle is less than 1 pixel size for example ).
A better approch will be to use MSAA. It’s the only solution for perfect AntiAlising rendering in all scenario and it’s more simple to implement and manage. The caveats is the memory needed to handle really good quality AntiAliasing.
Hope this help.
Work in Progress of Controller Editor integration in Black Ink.
The controller editor will allow the user to fine tune each parameter of his brush thanks to “block” programming.
We choose to avoid nodal programming with curved line for a better readability.
Steam has opened the last week GreenLight to non gaming software.
It’s a great opportunity for us to put Black Ink on a great app store.
So if you have a Steam account upvote for us ;)
done with BlackInk like always ;)
Now that we have released the public Beta of BlackInk I can share with you the user interface of the Application. It’s was a lot ( and still is ) of work and effort to do. All is custom made and I hope you see the difference if you try the application.
FleurVoile with BlackInk User interface
made by u2bleank
Another test with BlackInk
made by u2bleank