We’re starting to get some very promising results for the upcoming version of Black Ink (even if there is still a lot of work left before the release ).We will introduce a new custom shading language: the BSL (Brush Shading Language).

It is used control how pixel are blitted on the canvas. It’s mainly a superset of HLSL which introduce a lot of helpers and simplification.

Currently, Black Ink’s brushes only output one color per primitive and the Controllers only change the size, rotation etc.. but doesn’t change how the color is applied on the whole primitive. BSL will change that and open a whole new world of (infinite?) possibilities.

Long story short, it will be possible to program smudge blurs, smoothed primitives, texture masking, noises, color aberration, water effects, and much more…

This should be really interesting for technical oriented users (like people in the Shadertoy community for example). Pure artists don’t need to worry, all that complexity will be hidden and you will be able to use custom made effects without having to know how it’s done.

The next release will only include a text based BSL editor because a nodal tool will take a lot longer to develop. This is much more complex than the Controller system.A lot of Black Ink’s code was rewritten to support this new feature so sorry for the time this release is taking but it is going to be well worth it.

Now enough with the technical talk! This thread will show some results and advancement in our quest for more flexible and enjoyable Brush making

This is great news. I will love this feature. This is the first tool out there that has so much powerful features. Its good for users to be able to develop powerfull brushes even if it requires more "low level" approach. A shader language will give enormous amounts of possibilities. We all love your nodal system and we look forward new controlles. Maybe data driven nodes (external text data) will expand the creative possibilities.

It was way more difficult than expected but the Pixel Readback for Black Ink start to works fine Here some simple exemples of the effect in action ( the principe if the ReadBack is to read the destination pixel ( with a possible offset ) and then combine thanks to the BSL language with the currently outputted color ).