Как OpenGL отображает изображение в четырехугольник? - PullRequest
0 голосов
/ 24 сентября 2018

Файлы изображений имеют прямоугольную форму, однако в трехмерной среде прямоугольник в большинстве случаев будет выглядеть как неправильный четырехугольник.Рассмотрим следующее изображение (кредит этого блога ):

enter image description here

Учитывая, что:

  • вы уже знаете четыре вершины зеленого лица
  • у вас есть доступ к файлу изображения в виде двумерного массива значений цвета
  • вы рисуете на экране, который представляет собой двумерный массив пикселей

Какой алгоритм использует OpenGL для рисования изображения на зеленом лице?

1 Ответ

0 голосов
/ 24 сентября 2018

Алгоритм в основном (если мы пока игнорируем такие вещи, как шейдеры):

  1. разбить четырехугольник на два треугольника
  2. для каждого треугольника, вычислить проекцию на изображениеплоскость
  3. для каждого пикселя экрана, покрытого проекцией треугольника:
    1. вычисляет координаты текстуры путем интерполяции из вершин для положения врасположение пикселя соответствует треугольнику.
    2. найдите изображение текстуры в месте, соответствующем координатам текстуры.Как правило, здесь применяется некоторая форма фильтрации .
    3. вы нашли цвет для своего пикселя
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...