Proposal: Add Canvas Paint and Texture painting using PIL

To extend blender functionality for texture painting using python as well as for painting on a canvas, I propose we inlcude PILLOW into the blender libs, making it slightly bigger, and adding the ability to manipulate images and add text and draw lines and save images using python.

this (PIL) and BVHTree acceleration allows users to draw on multiple channels at 60 fps+

using PIL + BVHTree and multiprocessing module, you can draw on multiple images at the same time using different brushes.

think Spec , Diffuse, Reflection mask, and Normal all at the same time. (think substance painter/quixel)

example - (I am using the bge but texture bind ID handles can be exposed in BPY as well)

right now the system won’t grow as fast
because users need to do a few steps to get the system working
( pip install PILLOW )
copy PIL from python-libs-static-libs -> PIL and paste in blender/python

open file and press P.

dependancies -> 2.77 or newer and PIL and PYopenGL

it’s kinda tricky to get exteral python libs into blender,

but I did it like this - made sure system python was same as blender python
(pip install PILLOW) ensure it’s the same bit (32 or 64) as your blender

copy the PIL folder from your python path/lib/site-packages/PIL
place in blender/python

same for PYopenGL (install with PIP and then paste into blender/python)

PM me or post here if you have issues or a nice clean way to automate this.

Attachments

BPRBrush.zip (326 KB)