Курсовая работа: Реализация алгоритма обратной трассировки лучей для моделей с большим числом полигонов
Мы получили две системы линейных уравнений. Системы будут иметь единственное решение в том случае, если определитель системы не равен нулю. Определим его значение.
Это условие соответствует тому, что три точки треугольника лежат на одной прямой. Если это так, то треугольник не текстурируем.
В противном случае определяем коэффициенты. Точка пересечения треугольника и луча имеет во вспомогательной системе координат нулевые координаты X и Y.
Поэтому XT =C и YT =F. Имеет смысл искать только коэффициенты С и F.
Далее вызывается, описанная выше процедура GetTexPoint, с текстурными координатами round (C) и round (F). Получаем цвет нужной нам точки треугольника.
2.6 Закраска Фонга
В программе есть возможность сгладить выборочно нужные треугольники. Для этого в атрибутах треугольника есть флаг PaintType. Если он равен True, совершается сглаживание Фонга. Если равен False, то треугольник не сглаживается. Для удобства в программе введены две константы Const_Paint_Fong и Const_Paint_Flat, равные соответственно True и False. Наличие такого флажка, делает возможным строить практ?