Input Image node #102854

Closed
opened 2022-11-29 17:00:10 +01:00 by Iliya Katushenock · 14 comments

Goal

Now, after committed D15042: Geometry Node: Image Info and then we have other nodes, that require image, it would be useful has one general node to organize image and inputing it one for inputting in other nodes simple.

Implementation

This task involves several steps:

  1. Add Input Image node:
  1. Replace node type in `node_add_file_exec``and simplify image wrining in node:
  1. Add node_gather_link_searches for Input Image and impliment socket_move_value for poiner types (or may not only for pointers?) in defualt_value as new feature for LinkSearchOpParams::update_and_connect_available_socket.
## Goal Now, after committed [D15042: Geometry Node: Image Info](https://archive.blender.org/developer/D15042) and then we have other nodes, that require image, it would be useful has one general node to organize image and inputing it one for inputting in other nodes simple. ## Implementation This task involves several steps: 1. Add `Input Image` node: - [D16644: Geometry Node: Input Image node](https://archive.blender.org/developer/D16644). 2. Replace node type in `node_add_file_exec``and simplify image wrining in node: - [D16645: Node: Use geometry Image Input for drop image](https://archive.blender.org/developer/D16645). 3. Add `node_gather_link_searches` for `Input Image` and impliment `socket_move_value` for poiner types (or may not only for pointers?) in `defualt_value` as new feature for `LinkSearchOpParams::update_and_connect_available_socket`. - [D16735: Geometry Node: Gather link searche: Ability to move values to the top using a new link](https://archive.blender.org/developer/D16735), [Nodes: Move data-block default values with link drag search](https://projects.blender.org/blender/blender/pulls/105972)
Author
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Author
Member

Added subscribers: @mod_moder, @HooglyBoogly, @JacquesLucke

Added subscribers: @mod_moder, @HooglyBoogly, @JacquesLucke
Iliya Katushenock self-assigned this 2022-11-29 17:01:02 +01:00

Added subscriber: @brecht

Added subscriber: @brecht

For texture/shader nodes once we support image sockets, I don't think dropping an Input Image node would be an improvement. I think the Image Texture node by itself is far more common and I wouldn't change drag-and-drop to make the advanced case more convenient rather than the simple use case. So not sure we should do this for geometry nodes either.

For texture/shader nodes once we support image sockets, I don't think dropping an Input Image node would be an improvement. I think the Image Texture node by itself is far more common and I wouldn't change drag-and-drop to make the advanced case more convenient rather than the simple use case. So not sure we should do this for geometry nodes either.
Author
Member

According to my logic, all external data that can be used in nodes by many nodes must have its own input node.
Without redundant parameters for the node.

  • This unification will allow in the future, perhaps, both to distribute this node between different editors, and to remove the need for unification from other nodes that are more specific to editors.
  • Initially, I realized that this node was needed while I was making the image info node. Since, in theory, you want to use them synchronously, then you would like to enter the image by switching in only one place.
    • And also, I very often hear requests that the shaders also have image info. I think if an image socket appears in the shaders and it becomes logical to enter the image info, this problem will also affect it.
  • And also, if you recall another problem #100646 (Operator to convert input node to new group input socket), there was some separate discussion of external data. As a result, it is now possible for attributes and materials. I don't think it's a bad idea to let images do this as well.
According to my logic, all external data that can be used in nodes by many nodes must have its own input node. Without redundant parameters for the node. - This unification will allow in the future, perhaps, both to distribute this node between different editors, and to remove the need for unification from other nodes that are more specific to editors. - Initially, I realized that this node was needed while I was making the image info node. Since, in theory, you want to use them synchronously, then you would like to enter the image by switching in only one place. - And also, I very often hear requests that the shaders also have image info. I think if an image socket appears in the shaders and it becomes logical to enter the image info, this problem will also affect it. - And also, if you recall another problem #100646 (Operator to convert input node to new group input socket), there was some separate discussion of external data. As a result, it is now possible for attributes and materials. I don't think it's a bad idea to let images do this as well.
Member

The most internally consistent thing to do would be to use the input image node, but that's a good example of why consistency isn't always more helpful to users.

Maybe we could use a popup menu to give the choice of what node to add-- that has come up a few other times in discussions about drag & drop.

The most internally consistent thing to do would be to use the input image node, but that's a good example of why consistency isn't always more helpful to users. Maybe we could use a popup menu to give the choice of what node to add-- that has come up a few other times in discussions about drag & drop.

I think the Input Image node is fine to have for completeness. My only concern is with drag-and-drop, and I think for that even a popup makes the UX worse overall.

I think the Input Image node is fine to have for completeness. My only concern is with drag-and-drop, and I think for that even a popup makes the UX worse overall.
Author
Member

In this case, now only point 2 is in question?
I think it can be skipped if need to complete this task. But I'm not sure about the ease of dragging.
Maybe it really was overkill. Although I would still prefer to have exactly the input when drag-and-drop.

In this case, now only point 2 is in question? I think it can be skipped if need to complete this task. But I'm not sure about the ease of dragging. Maybe it really was overkill. Although I would still prefer to have exactly the input when drag-and-drop.
Member

I think the default node_gather_link_searches should work for both of these nodes. But resetting the default value as a feature of update_and_connect_available_socket still makes sense.

I think the default `node_gather_link_searches` should work for both of these nodes. But resetting the default value as a feature of `update_and_connect_available_socket` still makes sense.

This issue was referenced by a3251e66a7

This issue was referenced by a3251e66a723368cbc553e8c4e4ffc46e4b96fc9

This issue was referenced by blender/documentation@9835

This issue was referenced by blender/documentation@9835
Iliya Katushenock removed the
Module
Nodes & Physics
label 2023-03-21 19:13:26 +01:00
Iliya Katushenock added this to the Nodes & Physics project 2023-03-21 19:13:30 +01:00
Blender Bot added
Status
Archived
and removed
Status
Confirmed
labels 2023-04-03 19:49:51 +02:00
Contributor

Please please add this for Shader Nodes

Please please add this for Shader Nodes

And for all other nodes as well, for example dragging out from the vector inputs of a Transform Geometry to a Combine XYZ, or just any value input to a Value or Integer node :)

And for all other nodes as well, for example dragging out from the vector inputs of a Transform Geometry to a Combine XYZ, or just any value input to a Value or Integer node :)
Author
Member

@Gurra Hey, yeah, it's in the plans!

@Gurra Hey, yeah, it's in the plans!
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No Assignees
6 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#102854
No description provided.