GSoC 2023: Add a shader preview node - Feedback

  1. No we are not. I rarely use the compositor, as it does not have the tools I need. However, when i do use it, I find the whole viewer node background image thing to be kind of awkward to use.
  2. It works very differently in geometry nodes. It displays a checkpoint of geometry in the viewport. One at a time. The Compositor has previews on almost all nodes with a press of a “Shader icon”. (Wrong icon used, imo). But usually, the rendered image is not so tiny, so you want to see it in full size., therefore the viewer nodes exist. Still, it would be better if it wasn’t a viewer node for either geometry nodes or the compositor, but rather a button on all node headers.
  3. Eye icon is better than pressing a three-button hotkey.

Creating, moving and connecting a viewer node each time you need a preview is cumbersome to say the least. I also consider it to be a design flaw in geometry nodes for the same reasons. I mean it’s amazingly useful, but there are other, faster ways to get a preview.


On the other hand, having a preview over each node is a huge overcalculation. Personally, I’d rather have a preview on-demand over particular nodes.


From what I gathered, that’s the idea !


@Kdaf created pull that creates node previews on top of the nodes instead of inside them! I suspect that includes compositor ones too, since it’s a change not an addition. Good job I’m glad you’re taking community feedback!

1 Like

Let me explain a little fundamental problem here:
All internal/temporal graph data (all temporary data not passed to the output) must be removed.
My point is that if each node adds 10 shader code lines fo some result file, then storing the internal/temporal shader would be: 10+20+30+… for all nodes.
Rendering images would not create this progression. But there are still costs, as you can see.
Geometry nodes have this problem: For an spreadsheet, we want to switch between components and domains of geometry. But that would mean the nodes would have to be re-evaluated for new viewer context…
I’m not familiar with compositor or shader specifics. But that’s the reason why making it simple at first is the hardest thing to do. Explicitly changing the graph, marking a node for preview, or a separate node - those are the ways.

This isn’t your topic and it isn’t your place to assume an ownership role over it. This topic belongs to @Kdaf .

No, it’s not. The goal is to provide feedback for the design that Kdaf is working on.


@Stimes there’s no need for you to moderate the discussion here and tell others what fits here, that’s up to the developers and forum admins. The design is not set in stone.


There’s a patch and build here from @Kdaf that moves the preview above the node, which can be tested in the compositor.


I fully support ur design to put it under the node that can be activated and inactivated , so the old workflow of connecting nodes from upper socket parts will be same, while not shifting things when its activated, so bottom inside the node is better for me as well,
Its organized, no shift issue, like extra addition that looks professional because of being inside the node.

(Or there can be a preferences option to have it above or under the node would be great, better to give more options to users.)


I think it doesnt look so built-in for blender, i still prefer inside the node and having ability to decide if its above or below the sockets/sliders its too much like addon and doesnt look professional when its not bounded by node box. And still I prefer below the node like BD3D did, because it wont cause shift of sliders when preview is disabled or enabled, it will just add something extra below, so it wont mess up the organization of nodes in editor.

1 Like

Yes I agree with you too, blender is known for being ‘‘less floating and more organized’’ , thats why I prefer blender for being less floating because I dont want to have anything floating like other softwares do. Even some other softwares having floating windows have preview inside node. So its too much like addon if its floating like the current node preview addon and it will be a contradiction in blenders ‘‘no floating things ideology’’ like the floating window while creating sphere or boxes also bother me after 2.8 changes. It was better before. So if this is also turn out to be floating. The question I feel would be ''whats is the meaning of this project if it will be almost the same as the addon we already have commercially, only difference will be being free and being coded inside blender better ‘’ It should be inside by following old blenders design. Maybe only improvement can be putting it below the node like BD3D but still inside the node. so it wont cause any shifting in sliders when preview activated.


I tried it and the popups feels really nice to work with. I occasionally wanted to specifically set the preview of a node to be ex. twice as big to inspect it better. Without changing the size of the node or its sockets, just the preview.

I don’t know if it is planned if colorramps can be supported too would be amazing.

Also I noticed a couple bugs so I’ll just mention them quick.

Quick preview (Ctrl + Shift + LMB) is affecting the popups in very strange ways, sometimes it doesn’t affect the preview nodes, sometimes it does, and the shader previews will show different things from quick previewing the node. It just sort of feels broken.

Turning off the Render Layers preview seems to also turn it off for the preview nodes down the chain. This is only happening with the Render Layers node, other nodes don’t seem to affect the chain when turned off.

Other than that I can’t wait to see how this develops, thanks to the devs for working on this!


Hey, thank for the try, I’m sorry I cannot reproduce what you are saying. It would be strange if my patch added those kind of bugs because I really just changed the drawing part.

I changed a few things since. I’ll start another build and link it here if I’m allowed to.

1 Like

Could you try again ?

If the problem persists, could you send me a screencapture or precise steps ?

Thank you for your time :wink:

1 Like

I think it might be better to put it on the right side of the Shader, and there are times when you don’t need to preview very large results.

Have just downloaded the test build (PR108001.743), created a basic shader that includes a brick node. So my first question: how do I activate/see this new preview feature? I’m clicking in various places, and it’s not obvious.

It’s a first patch about UI design. The aim is just to move the preview area atop the nodes. There are currently only the Compositing nodes which support previewing.

I do not have any prototype for shader previews yet, I’m exploring the different possibilities.

you have to render first

it is hard to see exactly what is going on, but if you notice how connecting the render layers to the viewer changes the preview of the mix node at the start of the video, but then at the end it does not.

In fact my first attempt recording the video I got a weird black square in the preview when trying the same thing in the video.

Hope this helps.