← All ideas
  • Published 27 Jan 2021

Please separate 'Image File' as a socket - to make it more reusable - esp. for blur and other cool kernel-filter effects

I have a shader node tree like this. It works well even in Eevee.

Image

^ All of the yellow circles use the same image file.

It would be much better if the socket is an input slot like this :-
Image

The feature is much convenient when I want to :-

  1. change the file later, or ...
  2. create a reusable node group that have image file as input

Moreover, with node-group (an existing feature), this new feature will enable user to create various types of simple kernel-type image-processing filter node-group e.g. blur, high-pass (sobel) :-

Image

Here is an example of its usage :-
Image

A workaround is to use OSL, but OSL is CPU-only and Eevee doesn't (and shouldn't) support it.
Using OSL is also more of an unnecessary hassle.

guxQF.png

100%

Development Status: Open

Upvote 37 Downvote 0
TheEasyOne
27 Jan 2021

10 Comments

Lauloque

this has been asked a long time ago i remember, and nobody seemed to understand the catch back then

5
Erindale

Been wanting this for years! It would make node groups so much more serviceable being able to inject an image part way through a procedural system instead of needing two groups to process the coordinates and then later the images.

3
992998968

+1! And plus what you have mentioned: Texture Blur

1
Alumx

this seems like a nice upgrade to the texture node

+1!

1

Something similar is developed for Geometry Nodes: Multi Input Sockets . When it is ready I think it will be possible to think about implementing a similar one for shader nodes.

1
lluc84

I have asked for this multiple times blender.community/c/rightclickselect/bFcbbc/

1
TheEasyOne Author

* @lluc84 * Nice! :: To people who vote my proposal, please vote his proposal too.

zanqdo

So needed, specially since Geo Nodes already has this socket :s

qwertquart

I am so on board with adding image effect nodes, but it'd make more sense to plug in an image texture into a blur node, rather than a texture node into a blur node into an image texture node. Also, there's no need to invent new sockets because the yellow image sockets work just fine. You should be able to blur any input that looks like an image when hooked up to the viewer node. Vector input, data input, and color input are all blur-able. because they're all representable as 2D images.

In short, no, we don't need a new input socket on image textures, but yes we absolutely need a blur node and other 2D image distortion nodes (similar to compositing nodes for shaders).

I mean the programming could be almost as simple as just copy-pasting the code for the blur node in the compositor into the shader editor and I'd be happy. It's probably a lot more complex that that though, lol. I can't code.

Or you could combine the shader editor & compositor into one unified node editor with the outputs controlling where the effects end up. For example, using a material output would control a material & hooking nodes into a composite node would control a composite. A bonus to that is you could save multiple composites. Currently you can only make one composite. That's besides the point though. No extra socket. Yes Blur nodes.

koko_ze

it would be nice if it would just be a special node group so you could go into it by pressing the tab key