Интерфейс Renderman описан в работе [Ups89J.
Два наиболее популярных источника информации о системе OpenGL - это руководство программиста OpenGL Programmer's Guide [Оре97,а] и справочник OpenGL Reference Manual [Оре97,Ь]. Существует и формальная спецификация OpenGL- [Seg92], Во втором издании руководства программиста Programmer's Guide описана библиотека GLUT, разработанная Марком Килгардом (Mark Kilgard) [КИ94,Ь]. В это руководство включено множество примеров использования функций OpenGL. Библиотека GLUT была разработана для операционной системы X Window [КИ96], но ее новые версии применимы и в операционных системах Windows 98 и NT. В первой редакции руководства для интерфейса с X Window использован более простой инструментальный пакет aux. Конвертирование программ, написанных с ориентацией на aux в программы, работающие с библиотекой GLUT, не представляет труда. Много информации об OpenGL и примеры программ можно найти и в Internet. Достаточно много адресов соответствующих страниц вы найдете в самом начале приложения А.
Упражнения
2.1. Небольшая модификация алгоритма формирования узора Серпинского с помощью рекурсивного разбиения треугольников позволяет создавать с помощью треугольников изображения фрактальных гор {fractal mountains) в компьютерных мультфильмах. После определения средних точек на каждой стороне треугольника нужно слегка исказить эти значения случайным образом, а затем выполнять разбиение. Разработайте программу, которая будет формировать такие треугольники без заливки. Позже можно будет распространить этот алгоритм и на трехмерный случай и добавить тонирование. После нескольких циклов разбиения получится достаточно детальное изображение пирамидальной горы с неровным рельефом.
2.2. Узор Серпинского, сгенерированный в предыдущем упражнении, демонстрирует геометрические объекты, которые изучаются в геометрии фракталов (подробно она будет рассмотрена в главе 8). Предположим, что формируется узор из идеальных математических линий, т.е. двухмерных многообразий, имеющих длину, но не имеющих толщину. Какая часть области исходного треугольника окажется в пределе не заполнена этими линиями после того, как центральный треугольник при каждом разбиении изымается из дальнейшего процесса? Рассмотрите также значение периметра треугольников, оставшихся после удаления центрального. К какому значению в пределе стремится суммарный периметр всех оставшихся треугольников?