@ar5

Как сохранить пропорции текстуры в WebGL?

Здравствуйте, есть у меня маленько непонимание работы с webgl. Я пытаюсь загрузить картинку как текстуру в canvas. Но она не сохраняет пропорции и имеет какие-то непропорциональные размеры. Попытки поменять различные параметры ни к чему толковому не привели. И как я понял, что текстуры должны быть квадратные, а что если нет? Как мне поместить текстуру в canvas сохраняя пропорции?
Пример
https://codepen.io/anon/pen/QZYboL
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
@GreatRash
Судя вот по этому примеру текстура обязана иметь размеры степени двойки (2, 4, 8, 16, 32, 64 и т.д.). Если она не соответствует этим размерам, то используется параметр CLAMP_TO_EDGE, который растягивает/обрезает картинку до ближайшего подходящего размера.

Опять же на StackOverflow пишут, что если браузер поддерживает WebGL 2.0, то там т.н. NPOT-текстуры должны поддерживаться без проблем - пруф.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
svaa1982
@svaa1982
Web разработчик с трёхмерным уклоном
После того как тестура загружена, её наложение контролируется шейдером, а не исходными размерами и пропорциями. В шейдере имеются так называемые UV координаты, они должны быть одинаковы по ширине и высоте, чтобы картинка была квадратной.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
24 мая 2024, в 15:51
1000 руб./за проект
24 мая 2024, в 15:37
20000 руб./за проект
24 мая 2024, в 15:32
35000 руб./за проект