Is my understanding of UVs/ Texture Coordinates correct?

Is it true that Tiling + Offset move texture coordinates, not textures. Textures are snapped to 0,0 corner and will move if the texture coordinate moves.

Are texture coordinates per individual plane or shared across a mesh.

I found footage of a texture wrapping around a cube’s edge, but when I offset the texture coordinate, it does not wrap at all. I do not understand why the contradiction is present.

If tiling will scale texture coordinates, and assuming coordinates are per plane, does that mean the “far bottom right/ end texture coordinate” can be higher or lower than 1,1?

If offset will move texture coordinates, and assuming coordinates are per plane, if I offset up + left, is the 0,0 that appears on the bottom right the same 0,0 that originally was from the upper left, or is this a brand new 0,0?

Overall I want to understand UVs much better. I want to know what texture coordinates are, where they originate from, how many there are, and how they behave when they are scaled and moved around. All of this is a big gray area for me. I’ve spent a couple days trying to research UVs but the resources ive looked into dont seem to outright answer my questions.

I think you should start play with a Quad than a cube so overall after modeling a object you should unwrap each vertex onto a 2d plane which you add texture to that plane later. That plane call UV coordinate. Each vertex, after unwrapping, gets a UV coordinate that corresponds to a pixel on the texture applied to the 3D model.
uv.xy with uv.x from 0-1 on x axis and uv.y from 0-1 on y axis and depend on which directx or opengl
what is tilling and offset: uv.xy = float2(uv.x * tiling.x, uv.y*tiling.y) + float2(offset.x, offset.y). This mean tilling is scaling the texture based on UV coordinate, offset is move that texture.

1 Like