If you want to solve this in code - you have to compare the ratio between width and height of the plane and scale UV mapping to use only the greater of these values (so one dimension will use 0.0 to 1.0 mapping and the other will use something like 0.0 to (width / height).) Not 100% sure if this can be done straight in the shader, you’ll probably have to pass the ratio via a uniform.
If you want to solve it without falling into a deep depressive state after spending weeks figuring out shader code - just go to Blender and fix the UVs to match the image ratio. :’)
Thank you for yout answer.
Wow I think I still have a lot to learn from shaders haha
I will continue to work on it and try to figure a solution based on your advice.
Why? vUv.x changes from 0 to 1, from left to right. And you put its value in the red channel. So everything looks correct.
If you use vUv.y for the same channel, you’ll get color changing from black on bottom to red on top.
Okay thank you for yout answer it’s clearer for me !
I’m not far from the truth, I’m just going to continue tp documenting myself and it should be good