API for creating new kinds of material and compositor nodes (noises, blurs, shape generators, etc.)
I don't know much about Blender's API, but I'm guessing that it's currently difficult or impossible to create new nodes for the Shader Editor and Compositor. Users have been clamoring for more types of noise, and for certain useful operations like blurring a texture .
If the Blender team doesn't have the capacity to create those nodes, perhaps the solution is to provide API access (or improve it, if it's already there)?
This could open up a world of new node types. Off the top of my head:
- New types of noise
- Blurs and convolutions
- Shape generators (lines, rectangles, circles, etc.)
- Text generator
- Cavity node
- Nodes that fetch texture resources via URL
Etc. etc.
NOTE: I assume that for performance these nodes would not be plain Python scripts, but would involve something like C++ and sometimes require some kind of caching. Please don't downvote my idea solely on the assumption that new nodes would be uselessly slow. Assume that the API would let developers create adequately performant nodes.
2 Comments
I like your suggestion. Tho I think that exposing more scene data in the nodes system would be a much simpler solution - there are plugins that convert your python code into a nodegroup. In general, nodes in Blender give a similar performance as if was implemented in C, but some data is only available in C - triangle vertices, direction to light, sample id and whatnot. Anyway, how such an api should look like? Something like OSL? Would it be sufficient to expand OSL to other engines?
Would require a C++ API, and blender is completely against doing that unfortunately.