Тематическое задание 14.9. Отраженный и преломленный свет
Уровень сложности III - на основе трассировщика лучей из тематического задания 14.2.
Усовершенствуйте трассировщик лучей из тематического задания 14.2 так, чтобы он правильно обрабатывал как отражение света от блестящих поверхностей, так и преломление света, проходящего через прозрачные объекты. Для исследования основных свойств преломления света поэкспериментируйте с различными прозрачными формами и различными показателями преломления.
Тематическое задание 14.10. Трассировка Булевых комбинаций объектов Уровень сложности III - на основе трассировщика лучей из тематического задания 14.2.
Скорректируйте усовершенствованный трассировщик лучей из тематического задания 14.2 так, чтобы он правильно производил трассировку лучей для Булевых объектов любой сложности. Создайте интересную сцену из объектов, состоящих из: О объекта с цилиндрическим отверстием; О сферической линзы Ап(В - С) (сформированной как пересечение двух сфер), О объекта, заданного формулой Ап(В - С), где А, В, С - формы.
Сделайте так, чтобы сквозь отверстие и через линзу можно было видеть другие объекты.
14.15. Дополнительная литература В книге «Введение в трассировку лучей» («An Introduction to Ray Tracing») под редакцией Эндрю Гласснера [Glassner, 5] содержится превосходная коллекция обзорных работ, в которых используются важнейшие алгоритмы трассировки лучей, а также методы убыстрения процесса трассировки. В работе Уатта и Уатта [Watt, 209] нарисована широкая перспектива трассировки лучей и применяемых в ней методов. На дискете, прилагаемой к книге Линдлея [Lindley, 132], приводится множество примеров программного кода.
Д Графический инструментарий: ^4 получение OpenGL
Большая часть программного кода, рассматриваемого в этой книге, основана на использовании OpenGL в качестве интерфейса прикладного программирования (Application Programming Interface - API). В данном приложении мы опишем, как получить те средства OpenGL, которые вам потребуются при построении собственных приложений, использующих OpenGL.