Watercolor like shader

Hello!

Have anybody done anything procedural that is reminiscent of traditional watercolor paint? Is it possible? Or would it be so much easier doing it externally and then applying that as image textures in blender?

1 Like

Maybe thats your are looking for Ink & Watercolor effects in Blender

2 Likes

I have reactivated an old thread on this subject, which generates the best watercolor that I have seen, trouble is that even tho it is Open Source in the development, the current release is for Maya, and he is not going to have a Blender release. here is the thread, Art-directed watercolor stylization of 3D animations in real-time and a direct link to the Resources page which has the source code is https://artineering.io/research/MNPR/

Cool!

Would be awesome if someone proficient in Python would port it to blender.

Did I understand it correctly that the source is open source and thus free to port etc?

Down on the page that I referenced above, is a link to the MNPR source code. https://github.com/semontesdeoca/MNPR/releases/tag/v1.0.2
His particular implementation uses MEL script because he is developing this for Maya, but the rest is all Python scripts. It should be “doable” and I would gladly pay for an ‘Addon’ for Blender on Blender Market or Gumroad, which I do already for other choices.
I can’t pretend to know if the source is doable, given my level of understanding of code. Hopefully someone else will investigate and implement.

I had a look at the code, and unfortunately there’s a bit more to it than just Python code. There is also over 2000 lines of C++, plus a bunch of “.fx” and “.ogsfx” files (Maya shaders?) — over 30,000 lines’ worth!

So my guess is, it won’t be an easy conversion project. It would need people with both Blender and Maya development expertise.

Darn!

That’s too bad :frowning:

ldoMember Thank you for checking into the code. I did some research on the .fx file and fount " Files that contain the . fx file extension are most commonly associated with the Microsoft DirectX software application. Microsoft DirectX" whereas the .ogsfx seems to be more Maya specific conversion of GLSL shader, which is also a function that Blender can use, as in the following link https://en.wikibooks.org/wiki/GLSL_Programming/Blender/Minimal_Shader#Creating_a_GLSL_Shader.
The C++ is a different issue, but the routines may be accessed via Cython, but as stated, it would take someone who is more code-savvy than me. I would imagine there are people in the Blender development circles that would make more sense of this?? and, again, thank you Ido Member for looking into it. We can all keep hoping, with the LANPR GSOC project and Eevee/Cycles development.

@Ido thanks for counting, I did not know that MNPR had over 30k lines of code… But yes, MNPR was my PhD learning journey for 4 years and also relies quite a bit on Maya tools for its art-direction toolset. Its core is written in C++ using the Maya API, the front end is written in Python and the shaders are in HLSL and GLSL. There are only two files that involve MEL.
I’d love to port it over to Blender, but even though it is written in coding languages that Blender supports, it would involve many months of work!

3 Likes

I continue my work on a personal project. Here is an ‘early’ look at a “Watercolor” treatment of a Blender render. I still have a lot of elements that need attention, and the look needs work, but I thought to post this as an example. The render was played with in post-production in a variety of Paint programs with Layers. It is a two step process, of creating the scene, rendering it with what settings are most useful, them move it through post process, as these are for still illustration and not animation.

3 Likes

Very charming!

Have you considered neural style transfer techniques? It shouldn’t be hard to amass a large selection of training data. I’ve been meaning to play with some of that, have been wondering if I could use it to cheat my way to better, faster renders…

Neural style transfer is intriguing, but I haven’t been able to implement some of code choices that I already have found.
In the mean time, here is the latest version of this book cover, after Post Process treatment.

2 Likes

Here is a most recent posting of the “BookCover_v4” which still needs work, oh well…

which has been processed via a Compositor Node tree that I found, and duplicated. I then re-composited it with the ‘dark blue’ gradient to create the “Night” side in Photoshop, as I could not find an effective way to do this completely in Blender.
The Watercolor Node tree for the Compositor is from Namito111. I would welcome a Shader approach which is demonstrated here (https://artineering.io/) but it hasn’t been ported to Blender, yet. I did write a note to Ton Roosendaal, who said he would pass the Shader Development link along to the team?? I do not know of a decent way to Save a Node Group for uploading, short of a dedicated Blender file, but I will include my ScreenShot which I used as reference to create my version.
Water Color Node example

2 Likes

Have you tried G’MIC? That offers some quite amazing effects.

Yes, G’MIC has some fine tools. I use it in Krita and Gimp. I even went and explored the ‘old thread’ of integrating G’MIC into the Blender Compositor, which is ‘old’ now, but still seems like and interesting possibility. I also use some of the Akvis filters in Photoshop, but that is all Post Processing. The addition of the Crytomatte tool is still something to explore. I am still intrigued by the Shader approach (artineering.io link above), but for it to work correctly, I need the Layer integration brought back in as I like to Render Multiple passes, including a Line Render. My choice used to be generate the Passes, then process them in Compositor and overlay the lines at the end, but I continue to have difficulty generating separate passes, specifically a Freestyle Line pass. I tried the LANPR branch, but the line tends to be very technical drawing style, not stylized, and it is crashing on my current file, so the search continues, but Blender 2.80 is a fine tool, awaiting further additions.

You could try a material like this:

https://twitter.com/IdentyTee/status/1125387190979178505

https://twitter.com/IdentyTee/status/1125387320214138882

1 Like

Thank you for your contribution, I will study it, as I did not see a way to download a NodeTree (Blender doesn’t do this yet?) nor a Blend file. But the image will be a good guide.
I continue to struggle with an “easy” solution to Render Passes that I did in 2.79b, in which I could render a ‘white’ layer with Freestyle lines on them, an AO and a Shade layer, separately from a full Render and a Color only render. I can get there partially with View Layers, but it doesn’t seem to have a ‘replace all Materials’ with white option that I use in Lightwave and was able to achieve in Blender 2.79b.
Thank you for your contribution to the discussion.

1 Like

Despite my stated difficulties of getting the "Layers’ to Render as I need, I am still moving forward. Included here is a recent render, still Post Processed for the Watercolor look and Lines, but it is moving along.

3 Likes

Just saw a presentation from Siggraph where an artist presented her way of creating ”artistic” shaders in Cinema 4D. Really easy set up with great results. Wish it could be that easy in blender.

Here’s the presentation: https://m.youtube.com/watch?v=y8tq0tDh7mU&t=1588s