Подтвердить что ты не робот

Разница между координатами текстуры U V и S T

Какая разница между координатой текстуры U V и координатой текстуры S T?

Я знаю, что U V и S T используются в OpenGL.

Я также знаю, что S T также используется в Java.

4b9b3361

Ответ 1

Они означают одно и то же, это просто другое соглашение об именах.

U = S = x dimension
V = T = y dimension

Ответ 2

Принципы и практика компьютерной графики (Foley et al) определяют 2 следующим образом:

Отображение текстур может быть выполнено в два этапа. Простой подход начинается с отображения четырех углов пикселя на поверхность. Для бикубический патч, это отображение, естественно, определяет набор точек в поверхностное (s, t) координатное пространство. Затем угол пикселя в точке координатное пространство поверхности (s, t) отображается в текстуру (u, v) координатные пространства Четыре (u, v) точки в текстурной карте определяют четырехугольник, который приближает более сложную форму к которые пиксель может фактически отображать из-за кривизны поверхности. Мы вычисляем значение для пикселя, суммируя все тексели, которые лежат в пределах четырехугольник, взвешивающий каждую фракцию текселя, которая лежит в пределах четырехугольника. Если преобразованная точка в (u, v) пространстве падает вне текстурной карты, карта текстур может быть реплицируются, подобно шаблонам Раздела 2.1.3 Вместо того, чтобы всегда использовать тождественное отображение между (s, t) и (u, v), мы можем определить соответствие между четырьмя углами прямоугольника 0-to-1 (s, t) и четырехугольник в (u, v). Когда поверхность является многоугольником, она общий для назначения координат текстурной карты непосредственно его вершинам.

Ответ 3

Координаты

uv начинаются с угла < верхнего левого (ось v направлена ​​вниз).
Координаты st начинаются с угла < слева (ось t направлена ​​вверх).

s = u;
t = 1-v;

Я забыл сказать, что текстуры в opengl должны быть загружены вертикально, потому что первый элемент данных строки "соответствует нижнему левому углу изображения текстуры" (см. glTexImage2D). Только в этом случае координаты st и uv кажутся одинаковыми.

Ответ 4

Это вопрос конвенции.

Autodesk 3D Studio, Alias ​​Maya, NewTek Lightwave и, возможно, другие использовали буквы U и V для горизонтальных и вертикальных текстурных координат соответственно. DirectX следует тому же соглашению.

Однако Pixar RenderMan зарезервировал буквы U и V для параметров в их параметрических 3D примитивах. Поэтому для текстурирования вместо этого они использовали S и T. OpenGL также использовал это соглашение для координат текстуры.

Таким образом, их значение может быть различным в теории, но, если вы не работаете над некоторыми спецэффектами в фильме Голливуда, они, вероятно, означают координаты текстуры.