Internal Texture Formats (single-channel 32bit)

I still don’t quite understand how filtering evaluates; because you’re right: with my masking method the issue is that filtering is needed on the inner seams and the extention method (repeat, extend clip) doesn’t really work.

But with the UV transforms you use the inner seam isn’t visible on the inner edges and you managed to implement the (repeat/clip/extend) really well.
I’ll try to mess around and see if I can tack-on UDIMs to your solution if I can figure it out.

Maybe fully understanding how it works might be helpful to do it even better. I don’t understand it either. It seems to be applied in between the transforms. :man_shrugging: After the quadrants are moved but before I tile the image. No idea why or how, I just saw that this is what is happening and so I am padding all around the image but not around the separated quadrants, so they need to be placed in a specific way… :man_shrugging: Anyway, I think that’s good enough for me. I think the performance impact should be minimal and this should be sort of usable. The other issue is how other file formats save aplha channels, I only managed to make it work with EXR format. I suppose that is OK, EXR is probably really suitable for this anyway… …and I have no idea how this works with UDIMs, because I don’t really use that so not sure how this all relates. …it doesn’t seem to work with linear interpolation in EEVEE either, but cubic or smart works..

I think at the end of the day, how I am personally going to use this knowledge that Cycles always loads all 3 or 4 channels is without this mostly. It’s nice to have a solution like this and an interesting riddle, but I think in practice(for how I usually work) it’s going to be more practical to channel pack multiple textures instead of one most of the time. I guess it depends on the situation.

Yeah.. in practice it’ll always jut be easier to pack roughness, subsurface and some other layer onto the other channels instead of doing this split.

But it very much is an interesting experiment and for my very specific use-case where all other color / data layers can be 8-bit and lower resolution this is a lifesaver in terms of memory usage.