Node Preview - Rendered Thumbnails for Shader Nodes

I have released version 1.4 of Node Preview, which brings the following changes:

  • Added support for Blender 2.93
  • Fixed fallback for unsupported image formats not working and returning a black image
  • Fixed addon not working if an alternative scripts path was set, but the addon was installed in the default location

I have also tested the addon with the Blender 3.0 alpha build from today (2021/05/28) and it works, however I can not officially support Blender 3.0 until it is stable, because the Python API or version might change at any time in the future.

Best,
Simon

9 Likes

Wonderful! Thanks for the update!

Very nice, it works in 3.0.0. :grinning:

Hey there, been loving the addon. Revolutionizing shading for sure.

Lately with the news from Windows 11, I can’t upgrade. I may have to migrate the entire pipeline to Manjaro or other linux distros. When it comes to this addon, I know there are dependencies based on Windows - are there plans to make them compatible with other distros?

In case it matters to you I was just looking at Win 11 qualifications because my 5yo PC apparently doesn’t qualify. However on the Win 11 site under the question “When will I be able to upgrade to Windows 11 on my Windows 10 device?” they note:

“The upgrade rollout plan is still being finalized, but for most devices already in use today, we expect it to be ready sometime in early 2022. Not all Windows 10 PCs that are eligible to upgrade to Windows 11 will be offered to upgrade at the same time.”

Just FYI!

This addon is available for Windows, macOS and Linux. I can only officially support Ubuntu, but it should work on other Linux distributions as well (might require some tweaks or a recompilation, but there are ready-to-use compile scripts and instructions included).

If you want to test it, you could create a live USB stick with the Linux distro you want to use, install Blender and this addon, and see if it works.

2 Likes

I have released v1.5, with the following changes:

  • Fixed background process stopping when an image file did not exist at the specified path
  • New packed images are now automatically loaded as soon as possible (when the .blend file is saved)
  • Improved the error messages shown when an image file doesn’t exist or could not be linked
  • Fixed images not being reloaded if the path of an existing image datablock was modified
  • If a packed file can’t be linked, but exists on disk, it is now loaded from disk as fallback
  • The debug log output can now be enabled in the user preferences (can be useful when making a bug report)
  • Fixed old rendering jobs still being processed after loading a new .blend file (was a problem when opening a file with hundreds of nodes, then switching to another file before all thumbnails were rendered. Outdated jobs are now discarded)
6 Likes

Node Preview is participating in the Blender Market Summer Sale, so you can currently get it for 25% off: https://blendermarket.com/products/node-preview

3 Likes

I bought this addon! It’s exactly what I wanted. However, there is one thing that I feel is lacking. Node preview shows only the first output of a node by default. Emission Viewer by Node wrangler
Can I choose which output (eg color, alpha) to preview? I saved the roughness, metallic, and specular separately in RGB of one texture and used it separately as a seperate rgb node. The preview of the seperate rgb node only shows that of the R channel.

1608091250

Add images

To be precise, it shows the first used output. For example, if you would only use the G and B outputs of the Separate RGB node, it would show the G output as preview.

This has been on my todo list for a while, thanks for reminding me. I’ll look into it, a shortcut to cycle through the outputs is probably the best solution (with some indicator about the active output).

1 Like

Node Preview 1.8 won’t load for me in Blender 3.1.

Anyone else having this problem?

me too . :cold_sweat:

Hi,

I guess you’re using macOS?
On Windows and Linux, the addon already works with Blender 3.1, but for macOS I still have to make it compatible. I’ll release an update for this soon.

1 Like

@don1138 @tallken

I have released Node Preview v1.9.

Version 1.9 adds support for Python 3.10 on macOS, which means it now works in Blender 3.1 on Apple computers (including those with M1 processors).

There is also a small new feature: A shortcut for choosing the active output of a node manually. Before, the addon always used the first connected output automatically. This is still the default behaviour, but now the user can also select a node, press Shift+O, and choose any other output to be shown in the preview thumbnail.

manual_output

This means you can now quickly get a preview for any output socket, without having to fiddle with connection wires.
To get back to automatic mode, simply enable the “Auto” checkbox in the Shift+O menu.

6 Likes

From April 13th to 18th, Node Preview will be 25% off on Blender Market as part of the spring sale.

1 Like

I have released Node Preview v1.11 with a big performance improvement for certain complex node trees. In one particular testscene, previews were only slowly showing up after 5 minutes of waiting - now they start appearing instantly and all previews for the tree are completed in a few seconds.

Also, from August 3rd to 8th, Node Preview will be 25% off on Blender Market as part of the summer sale.

2 Likes

Hi Simon,

I am a very happy user of your Node Preview add-on. Unfortunately, with the latest v1.11 version (as I wrote you on Blender Market) I wish to report that with Blender versions 2.83.20 LTS, 2.93.9 LTS, 3.2.1, and 3.3.0 Alpha, after startup, switching to Shading Workspace with the default scene, the Blender Console displays the following messages ad Traceback Error. All previews are Red, and all nodes show the following error message: ‘[node name]’ object has no attribute ‘status’

Here follows the message appearing in the Blender console for version 2.93.9 but the same happens for all the above referenced versions:

[NodePreview]
Script: --------------------
1 import bpy; import mathutils;
2 scene = bpy.context.scene
3 scene.cycles.feature_set = ‘SUPPORTED’
4 scene.cycles.samples = 4
5 scene.cycles.shading_system = False
6 scene.render.use_compositing = True # Enables OIDN
7
8 scene.render.threads = 4
9 if bpy.app.version < (3, 0, 0):
10 scene.render.tile_x = 75
11 scene.render.tile_y = 75
12
13 node_group_mapping = {}
14 node_tree = bpy.data.materials[‘Material’].node_tree
15 output_node = node_tree.nodes[‘Material Output’]
16 background_tex = bpy.data.materials[‘checker_plane’].node_tree.nodes[‘Checker Texture’]
17 background_tex.inputs[1].default_value = [0.9940000176429749, 0.9940000176429749, 0.9940000176429749, 1]
18 background_tex.inputs[2].default_value = [0.8086000084877014, 0.8086000084877014, 0.8086000084877014, 1]
19 nPrincipled_32BSDF = node_tree.nodes.new(‘ShaderNodeBsdfPrincipled’)
20 nPrincipled_32BSDF.name = ‘Principled BSDF’
21 # 0
22 nPrincipled_32BSDF.active_preview = False
23 nPrincipled_32BSDF.distribution = ‘GGX’
24 nPrincipled_32BSDF.mute = False
25 nPrincipled_32BSDF.status = False
26 nPrincipled_32BSDF.subsurface_method = ‘BURLEY’
27 nPrincipled_32BSDF.inputs[0].default_value = [0.800000011920929, 0.800000011920929, 0.800000011920929, 1.0]
28 nPrincipled_32BSDF.inputs[1].default_value = 0.0
29 nPrincipled_32BSDF.inputs[2].default_value = [1.0, 0.20000000298023224, 0.10000000149011612]
30 nPrincipled_32BSDF.inputs[3].default_value = [0.800000011920929, 0.800000011920929, 0.800000011920929, 1.0]
31 nPrincipled_32BSDF.inputs[4].default_value = 0.0
32 nPrincipled_32BSDF.inputs[5].default_value = 0.5
33 nPrincipled_32BSDF.inputs[6].default_value = 0.0
34 nPrincipled_32BSDF.inputs[7].default_value = 0.4000000059604645
35 nPrincipled_32BSDF.inputs[8].default_value = 0.0
36 nPrincipled_32BSDF.inputs[9].default_value = 0.0
37 nPrincipled_32BSDF.inputs[10].default_value = 0.0
38 nPrincipled_32BSDF.inputs[11].default_value = 0.5
39 nPrincipled_32BSDF.inputs[12].default_value = 0.0
40 nPrincipled_32BSDF.inputs[13].default_value = 0.029999999329447746
41 nPrincipled_32BSDF.inputs[14].default_value = 1.4500000476837158
42 nPrincipled_32BSDF.inputs[15].default_value = 0.0
43 nPrincipled_32BSDF.inputs[16].default_value = 0.0
44 nPrincipled_32BSDF.inputs[17].default_value = [0.0, 0.0, 0.0, 1.0]
45 nPrincipled_32BSDF.inputs[18].default_value = 1.0
46 nPrincipled_32BSDF.inputs[19].default_value = 1.0
47 nPrincipled_32BSDF.inputs[20].default_value = [0.0, 0.0, 0.0]
48 nPrincipled_32BSDF.inputs[21].default_value = [0.0, 0.0, 0.0]
49 nPrincipled_32BSDF.inputs[22].default_value = [0.0, 0.0, 0.0]
50 node_tree.links.new(node_tree.nodes[‘Principled BSDF’].outputs[0], output_node.inputs[0])
----------------------------Traceback (most recent call last):
File “D:\Blender_2.93_stable\2.93\scripts\addons_extern\NodePreview\background.py”, line 276, in do
exec(script)
File “”, line 25, in
AttributeError: ‘ShaderNodeBsdfPrincipled’ object has no attribute ‘status’

deps_update_post : Set Category

Unfortunately, I’m having the same issue.

Rolling back to v1.10 in the meantime.

Thanks for your bug reports and sorry about the slipup.
I have published version 1.12, which fixes this issue.

1 Like
Traceback (most recent call last):
  File "/usr/share/blender/2.92/scripts/modules/addon_utils.py", line 382, in enable
    mod.register()
  File "/home/patrinux/.config/blender/2.92/scripts/addons/node_preview_283/__init__.py", line 378, in register
    from .display import display_register
  File "/home/patrinux/.config/blender/2.92/scripts/addons/node_preview_283/display.py", line 61, in <module>
    raise Exception(msg + "\n\nImportError: %s" % error) from None
Exception: 

The Python version of this Blender build (Python 3.8) is not supported.
Supported are Python 3.7, 3.9 and 3.10.
Check the documentation.txt file to see which Blender versions are supported.

ImportError: cannot import name 'nodepreview_worker' from 'node_preview_283' (/home/patrinux/.config/blender/2.92/scripts/addons/node_preview_283/__init__.py)

Please how I solve this traceback with B2.92, please?
Node preview 1.12