Лабораторная работа № 9. Освещение и текстурирование

1. Освещение

Реализовать метод Гуро для затенения фигур.

  • Добавить нормаль к каждой вершине.
  • Добавить положение источника света и цвет объекта.
  • Вычислить цвет в каждой вершине по модели Ламберта (рассеяную часть).
  • Закрасить грань, интерполируя цвет между цветами вершин (билинейная интерполяция).
  • Добавить возможность применения преобразований к объекту.

2. Текстурирование

Реализовать алгоритм наложения текстуры на полигон. С отсечением невидимых граней.

  • Добавить координаты текстуры к каждой вершине.
  • При отрисовке грани интерполировать координаты текстуры между координатами вершин.
  • Продемонстрировать текстурирование на правильных многогранниках (тетраэдр, куб, октаэдр).
  • Добавить возможность применения преобразований к объекту.
3. Метод плавающего горизонта

  • Построить проекцию графика функции 2-х переменных: по алгоритму плавающего горизонта.
  • Реализовать отображение сеткой.
  • Добавить возможность менять направление обзора.