Node Preview - Rendered thumbnails for shader nodes

This addon displays rendered thumbnails above Cycles shader nodes.

It is available on the Blender Market: https://blendermarket.com/products/node-preview


36 Likes

Nice!

I’ve tweeted about it:

6 Likes

@B.Y.O.B
This is really cool, will you be able to support Octane nodes like you did for the other plugin? Thanks,

Jason

1 Like

Wow! I’ve been waiting for an add-on that’s good for producing Procedural textures like this! Very nice work.
Thank you so much for making it!
For various reasons, I would like to consider purchasing it as soon as May comes.

I have a question, does this Node Preview addon work properly with the old Blender 2.80(32bit) environment?

Also, I understand that Eevee’s Shader to RGB node is not supported, but is there support for nodes shared by Eevee and Cycles?

1 Like

damn how nobody did this before is crazy… should be as officiall part of blender. :3

8 Likes

@B.Y.O.B nice work !!!

I have a little question: did you knew that there’s a “show_preview” property per nodes?
So why not placing the preview dynamically inside the space this option creates instead of right above it? :thinking:

1 Like

Support for external render engines is not on my list of planned features at the moment. Maybe I’ll check if it’s feasible in the future, but I can’t make any promises.

I tested it on Blender 2.80 and it works on that version, however the addon was compiled for 64 bit systems and won’t work on a 32 bit OS (it contains a C++ module, not only Python).

Yes, since all Cycles nodes are supported and Eevee in turn is compatible with almost all of them, it won’t make a difference wether you use Cycles or Eevee for rendering most of the time. Just be aware that Eevee-only nodes are not supported by the addon.

Thanks for the tip. I checked it and unfortunately the show_preview property makes the node way too big. It uses a lot more space than the current thumbnail, and it looks like it’s not possible to influence how much space show_preview takes up.

5 Likes

@B.Y.O.B Thank you for making this long-awaited feature possible. It runs smooth as butter.
P.S. The description makes it sound like it doesn’t work with Eevee. I would clarify that. But having it in LuxCore would be great.

1 Like

My tweet is going kind of viral among Blenderheads on Twitter. I hope the attention will bring you some sales, @B.Y.O.B .

1 Like

Actually the preview size vary from the node thickness

3 Likes

Yes, this definitely helps. Thanks to anyone spreading the word!

1 Like

Someone was talking about selling his proposed addon and the thread ended up heaven knows where. I sure hope he sees this thread. There should be hope.
Sale!

I believe this ought to be in Blender. I’m sure, eventually it will be. But since you came up with it, are offering it to me, I’m gonna buy it to ensure I support coding efforts in this open-source community.
Thanks, in words; I’ll take care of the material thanks before the eve is out.

2 Likes

I’d love to use this, but I see too many problems with it:

  • The default width of most nodes causes the empty space to be too big, as seen in my screenshot.
  • An addon should not on its own resize nodes
  • Making a node narrower causes long property/socket names to be clipped off and become unreadable, so it’s not an option for many nodes
3 Likes

Yeah i know it’s a bit off, i’m just trying to show you how it’s natively “supported” :slight_smile:

What is the performance penalty for using it with rather complex graphs?

The rendering is done in a background process, decoupled from the main Blender process, so it does not affect performance apart from taking up around 1-2 CPU cores briefly (around 0.1 seconds per node) after a node was edited.
So if your CPU has more than 4 cores or so, or if you’re rendering on the GPU, it shouldn’t affect viewport rendering performance etc. noticeably.

What can actually affect drawing performance in the node tree UI is the code that checks for changes to node settings. The algorithm used there is of linear complexity.
On my CPU (Ryzen 7 2700x) it takes around 15 milliseconds for 150 nodes, which is 67 FPS.
(This test was done with the whole draw handler code, including checking for changes, drawing the 150 preview images, etc.)

7 Likes

I dunno about you… but this is gold.

Here are some things I would love to have in mind:

  • That it could work also with Eevee
  • That this could go to the Blender Master somehow…
  • That you as a developer had a Patreon or something so what goes to master can still support you.

I know I must be dreaming.

It works with Eevee, it just won’t show previews of Eevee-exclusive nodes. But as far as I know, there are only two of such nodes: ShaderToRGB and the Specular shader (correct me if there are more).

1 Like

I have published version 1.1 with the following changes:

  • Fixed addon not working if installed in an alternative scripts path (Preferences > File Paths > Data > Scripts)
  • Users can now pick custom colors for the background which is shown behind transparent shaders
  • Enabled previews on the Geometry node (for some reason, it was disabled)

Capture

5 Likes

I just purchased it! :laughing:
I was able to install it in Blender 2.92, but I could not install it in Blender 2.93beta with the following error.

Traceback (most recent call last):
File “C:\Program Files\Blender Foundation\Blender 2.93 E-cycles\2.93\scripts\modules\addon_utils.py”, line 386, in enable
mod.register()
File “C:\Users\ ~ \AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\NodePreview_init_.py”, line 153, in register
from .display import display_register
File “C:\Users\ ~ \AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\NodePreview\display.py”, line 73, in
raise Exception(msg + “\n\nImportError: %s” % error) from None
Exception:

You have to install the following: https://aka.ms/vs/15/release/vc_redist.x64.exe
Check the doc.txt file for more information about how to install this addon.

ImportError: cannot import name ‘nodepreview_worker’ from ‘NodePreview’ (C:\Users\ ~ \AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\NodePreview_init_.py)

By the way, VC_redist.x64.exe is installed.
I can’t check the add-on because I get this error message.
Is Blender 2.93beta not supported yet?

Also, if you use nodes that are added by add-ons like this FxNodes for Blender, Preview will stop.

Personally, I wanted to use this add-on at the same time as it is useful for creating procedural types, but is it difficult to support?