Процедуры построения хода лучей обсуждаются в работах [4, 7, 60, 120, 169, 180, 274, 316, 317, 387]. Алгоритмы реализации методов диффузного отражения можно найти в статьях [53, 56-58, 83, 132, 147, 193, 305, 323, 324, 371]. Алгоритм отображения фотонов подробно рассмотрен в публикации [163]. Методы наложения текстур и применение текстур обсуждаются в работах [77, 311, 393]. Общее обсуждение распространения энергии, уравнений переноса, процессов визуализации и человеческого восприятия света и цвета приводится в книге [124].
Дополнительные примеры программирования с использованием функций освещения и визуализации OpenGL представлены в пособии [400]. Примеры программирования с использованием функций освещения, визуализации и текстурирования также приводятся на Web-сайте Нейта Робинса (Nate Robins): http://www.cs.utah.edu/~narobins/opengl.html. Полный перечень функций освещения и визуализации OpenGL можно найти в справочнике [320].
УПРАЖНЕНИЯ
10.1. Напишите процедуру реализации уравнения (10.12) для диффузного отражения с использованием одного точечного источника света и визуализации плоской поверхности для граней тетраэдра. Описание объекта нужно подать в таблицах многоугольников, включая векторы нормалей к поверхности для всех граней многоугольника. Дополнительные входные параметры включают фоновую интенсивность, интенсивность источника света и коэффициенты отражения поверхности. Вся координатная информация должна задаваться прямо в системе наблюдения.
10.2. Так модифицируйте программу из упражнения 10.1, чтобы она визуализировала многоугольные грани мозаичной сферической поверхности.
10.3. Так модифицируйте программу из упражнения 10.2, чтобы она отображала сферическую поверхность с использованием визуализации по Гуро.
10.4. Так модифицируйте программу из упражнения 10.3, чтобы она отображала сферическую поверхность с использованием визуализации поверхностей по Фонгу.
10.5. Напишите процедуру реализации уравнения (10.17) для различных диффузных и зеркальных отражений с использованием одного точечного источника света и визуализации поверхностей по Гуро для многоугольных граней мозаичной сферической поверхности. Описание объекта должно предлагаться в таблицах многоугольников, включая векторы нормали к поверхности для всех многоугольных граней. Дополнительный вход включает интенсивность фонового освещения, интенсивность источника света, коэффициенты отражения поверхности и параметр зеркального отражения. Вся координатная информация должна задаваться прямо в системе наблюдения.
10.6. Модифицируйте процедуру из предыдущего упражнения, чтобы она отображала многоугольные грани с использованием визуализации поверхностей по Фонгу.
10.7. Модифицируйте процедуру из предыдущего упражнения, чтобы она включала функцию линейного затухания интенсивности.
10.8. Модифицируйте процедуру из предыдущего упражнения, чтобы она включала два источника света на сцене.