The image node in GeoNodes can't use UDIM tiles #102918

Open
opened 2022-12-02 18:10:13 +01:00 by kursad k · 13 comments
Member

System Information
Operating system: Windows 11

Blender Version
Broken: 4aac5b92c1

Short description of error

It seems like the image texture node is not able to access the UDIM uv range properly. As you can see in the image the objects have proper UDIM tiles that the regular textures can utilize . The image texture node of the geonodesseems to bound the UVs within 0-1 range and cant access the tiles.

Passing the UVs from the modifier does not seem to help with it.

blender_iNPDODeGlS.jpg

Exact steps for others to reproduce the error

load the attached .blend file

select the NOUDIM object

open the geometry nodes graph of the object's modifier

enable the viewer node

_01122022_2239_12_02_2022.zip

**System Information** Operating system: Windows 11 **Blender Version** Broken: 4aac5b92c1bb **Short description of error** It seems like the image texture node is not able to access the UDIM uv range properly. As you can see in the image the objects have proper UDIM tiles that the regular textures can utilize . The image texture node of the geonodesseems to bound the UVs within 0-1 range and cant access the tiles. Passing the UVs from the modifier does not seem to help with it. ![blender_iNPDODeGlS.jpg](https://archive.blender.org/developer/F13986166/blender_iNPDODeGlS.jpg) **Exact steps for others to reproduce the error** load the attached .blend file select the NOUDIM object open the geometry nodes graph of the object's modifier enable the viewer node [_01122022_2239_12_02_2022.zip](https://archive.blender.org/developer/F13986186/_01122022_2239_12_02_2022.zip)
Author
Member

Added subscriber: @kursadk

Added subscriber: @kursadk
kursad k changed title from The image node in GeoNodes cant use UDIM tiles to The image node in GeoNodes can't use UDIM tiles 2022-12-02 18:33:05 +01:00

Added subscriber: @mod_moder

Added subscriber: @mod_moder

This node is not required to have this functionality, so this is a feature request. But yes, I agree that it could make sense.

This node is not required to have this functionality, so this is a feature request. But yes, I agree that it could make sense.

Added subscriber: @mano-wii

Added subscriber: @mano-wii

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

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

Although probably not supported yet, it deserves input from developers.
The GN result is not expected, and I didn't find any information about this limitation in the documentation.
So I'm confirming it as a bug for now.

Although probably not supported yet, it deserves input from developers. The GN result is not expected, and I didn't find any information about this limitation in the documentation. So I'm confirming it as a bug for now.
Author
Member

@mano-wii Thanks for flagging this as a bug. This node will need to support UDIMs eventually because all the other modifiers that relies on textures (like the displacement modifier) supports UDIM tiles. As of now we can't use the GN nodes as a replacement for the displacement modifier given it is not supporting UVs properly. UDIMs is pretty much a standard UV workflow nowadays.

@mano-wii Thanks for flagging this as a bug. This node will need to support UDIMs eventually because all the other modifiers that relies on textures (like the displacement modifier) supports UDIM tiles. As of now we can't use the GN nodes as a replacement for the displacement modifier given it is not supporting UVs properly. UDIMs is pretty much a standard UV workflow nowadays.
Philipp Oeser removed the
Interest
Nodes & Physics
label 2023-02-10 08:43:27 +01:00
Iliya Katushenock added
Type
Known Issue
and removed
Type
Bug
labels 2023-02-12 13:29:49 +01:00

Hello. I think it makes sense to mark this as a known issue for now.
Right now there is no way to do this without the need for geometry (that would just work as a sampling node).
This is due to the fact that now calculations without context cannot be forcibly combined to solve one complex problem. To put it simply, now the solution is straight-forward, this is:

  • 10 threads simultaneously request your 100 tiles in parallel and not synchronously. Of course memory will be in question.

So far, hopes for a new refactoring of Jacques, which will make it possible to separate this into a new type of functional nodes that could themselves manage how to receive and use data.

Hello. I think it makes sense to mark this as a known issue for now. Right now there is no way to do this without the need for geometry (that would just work as a sampling node). This is due to the fact that now calculations without context cannot be forcibly combined to solve one complex problem. To put it simply, now the solution is straight-forward, this is: - 10 threads simultaneously request your 100 tiles in parallel and not synchronously. Of course memory will be in question. So far, hopes for a new refactoring of Jacques, which will make it possible to separate this into a new type of functional nodes that could themselves manage how to receive and use data.

Hi,

FYI I'm using UDIM to do volume rendering of medical images stacks, in a shader :
image

Same piece of data, with tweaked density :
image

Here there are 250 png images of 1024x1024 resolution. My nodegroup is simply converting the volume 3D coordinates into UDIM space to sample the images accordingly.

Here : https://www.youtube.com/watch?v=vh3GIfE6iGc&ab_channel=CartesianCaramel

Cartesian Caramel is using the same trick I used before I found how to do it with UDIMs : stitching all the slices in a single huge image, and do some maths tricks to remap it in 3D coordinates.

Being able to use UDIMs with geometry nodes in this context would be really useful I think.

Hi, FYI I'm using UDIM to do volume rendering of medical images stacks, in a shader : ![image](/attachments/d2273f73-e986-4250-8e3f-879f5c73b859) Same piece of data, with tweaked density : ![image](/attachments/4d9e1148-32c2-4288-8858-00e7f88b12e8) Here there are 250 png images of 1024x1024 resolution. My nodegroup is simply converting the volume 3D coordinates into UDIM space to sample the images accordingly. Here : https://www.youtube.com/watch?v=vh3GIfE6iGc&ab_channel=CartesianCaramel Cartesian Caramel is using the same trick I used before I found how to do it with UDIMs : stitching all the slices in a single huge image, and do some maths tricks to remap it in 3D coordinates. Being able to use UDIMs with geometry nodes in this context would be really useful I think.
389 KiB
649 KiB

@Alesk Hello. The problem is not that we don't want to (but we do), but that right now it would just do a lot of dirty work to your computer. So it makes sense to at least try and hope for better field calculations. There are plans for this, so it will happen someday.

@Alesk Hello. The problem is not that we don't want to (but we do), but that right now it would just do a lot of dirty work to your computer. So it makes sense to at least try and hope for better field calculations. There are plans for this, so it will happen someday.

@mod_moder yes, I understood that. It was just a little nudge to add more context and push more in this way ;)

@mod_moder yes, I understood that. It was just a little nudge to add more context and push more in this way ;)

Also experiencing this, as I have a baldness map for hair curves made with UDIM tiles which geometry nodes can open but it just doesn't work at all seemingly. It may only recognize the first tile. So for those of us using UDIM tiles in our workflow can't use baldness maps

Also experiencing this, as I have a baldness map for hair curves made with UDIM tiles which geometry nodes can open but it just doesn't work at all seemingly. It may only recognize the first tile. So for those of us using UDIM tiles in our workflow can't use baldness maps

Please add support for UDIM tiles in the GeoNodes Image Texture node!

Example project: You have a mesh of a dog which uses UDIM UVs (eg. separate tiles for Head / Body / Legs). You want to grow homemade geometry node hairs down its spine. You paint white down the spine on the body tile and leave the other two tiles as black. You name your images as a correct UDIM sequence (eg. HairGrowth.1001.png / HairGrowth.1002.png / HairGrowth.1003.png). You load this image sequence into GeoNodes Image Texture and it only reads the pixel data from the first image - the rest of the sequence is ignored - you get no hair growth anywhere. If on the otherhand you had painted white on the Head tile to get hair growth on the top of the head - you do get that hair growth on the head - but you also get it on the body and legs according to their UV layouts.

Right now, the only solution I can come up with is to add yet another single-tile UV unwrap on my mesh which targets the spine area and then draw a mask to suit.

Please add support for UDIM tiles in the GeoNodes Image Texture node! Example project: You have a mesh of a dog which uses UDIM UVs (eg. separate tiles for Head / Body / Legs). You want to grow homemade geometry node hairs down its spine. You paint white down the spine on the body tile and leave the other two tiles as black. You name your images as a correct UDIM sequence (eg. HairGrowth.1001.png / HairGrowth.1002.png / HairGrowth.1003.png). You load this image sequence into GeoNodes Image Texture and it only reads the pixel data from the first image - the rest of the sequence is ignored - you get no hair growth anywhere. If on the otherhand you had painted white on the Head tile to get hair growth on the top of the head - you do get that hair growth on the head - but you also get it on the body and legs according to their UV layouts. Right now, the only solution I can come up with is to add yet another single-tile UV unwrap on my mesh which targets the spine area and then draw a mask to suit.
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 project
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#102918
No description provided.