From 67e43f9083b79b33f5aa6ac4d1630946804d9534 Mon Sep 17 00:00:00 2001 From: Pablo Vazquez <pablo@blender.org> Date: Fri, 6 May 2022 17:59:12 +0200 Subject: [PATCH] Amaranth: Support Image preview on Geometry Nodes Limited to unconnected sockets though, it's a bit tricky to get the linked socket's image since they are evaluated on runtime. Thanks Dalai for the help. --- amaranth/__init__.py | 2 +- amaranth/node_editor/display_image.py | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/amaranth/__init__.py b/amaranth/__init__.py index 998c71e7b..06a42c8ec 100644 --- a/amaranth/__init__.py +++ b/amaranth/__init__.py @@ -74,7 +74,7 @@ from amaranth.misc import ( bl_info = { "name": "Amaranth Toolset", "author": "Pablo Vazquez, Bassam Kurdali, Sergey Sharybin, Lukas Tönne, Cesar Saez, CansecoGPC", - "version": (1, 0, 9), + "version": (1, 0, 10), "blender": (3, 2, 0), "location": "Everywhere!", "description": "A collection of tools and settings to improve productivity", diff --git a/amaranth/node_editor/display_image.py b/amaranth/node_editor/display_image.py index 77b081b28..e0d68190d 100644 --- a/amaranth/node_editor/display_image.py +++ b/amaranth/node_editor/display_image.py @@ -20,7 +20,8 @@ image_nodes = ("CompositorNodeRLayers", "CompositorNodeViewer", "CompositorNodeComposite", "ShaderNodeTexImage", - "ShaderNodeTexEnvironment") + "ShaderNodeTexEnvironment", + "GeometryNodeImageTexture") class AMTH_NODE_OT_show_active_node_image(bpy.types.Operator): @@ -70,8 +71,17 @@ class AMTH_NODE_OT_show_active_node_image(bpy.types.Operator): elif active_node.bl_idname in ["CompositorNodeComposite", "CompositorNodeRLayers"]: space.image = bpy.data.images[ "Render Result"] + elif active_node.bl_idname == "GeometryNodeImageTexture": + if active_node.inputs['Image'].is_linked: + self.report({'INFO'}, "Previewing linked sockets is not supported yet") + break + if active_node.inputs['Image'].default_value: + space.image = active_node.inputs['Image'].default_value elif active_node.image: space.image = active_node.image + else: + self.report({'INFO'}, "No image detected") + break break else: return {'CANCELLED'} -- GitLab