Сформируйте последовательность изображений для текстурированного куба, которые плавно проходят через материал от кадра к кадру. Тогда будет казаться, что объект «движется сквозь» текстуру, в которую он погружен, что весьма отличается от эффекта, который производит движущийся объект с накленной на него текстурой. Поэкспериментируйте с такими анимациями.

Тематическое задание 8.6. Рисование теней Уровень сложности III.

Расширьте возможности программы, которую вы написали в тематическом задании 8.1, с целью создания теней. Пусть один из объектов на сцене имеет плоскую поверхность, на которой видны тени от других объектов. Поэкспериментируйте с методом «проецируемых граней». Если позволит время, разработайте также подход с использованием буфера теней.

Тематическое задание 8.7. Расширение SDL с целью включения текстурирова ния Уровень сложности III.

Язык описания сцен (Scene Description Language - SDL) до настоящего времени не включает в себя средства задания текстуры, которую хотелось бы наложить на каждую грань объекта. В языке имеется ключевое слово texture, однако когда оно встречается в файле, то ничего не происходит. Тщательно изучите коды классов Scene и Shape, которые доступны на web-сайте книги, после чего разработайте подход, в котором разрешен синтаксис вида:

texture giraffe.bmp pi р2 рЗ р4

5S0

Визуализация граней для усиления реалистичности

для создания текстуры из изображения, записанного в файле (здесь это файл giraffe.bmp), и для последующего наложения ее на нужные грани последовательно определяемых объектов. Определите, сколько параметров потребует метод texture и как они должны использоваться. Расширьте подпрограмму drawOpenGLÜ для двух или трех форм так, чтобы она правильно отображала такую текстуру на объекты.

8.9. Дополнительная литература В двух книгах Джима Блинна «Путешествие по графическому конвейеру» (Jim Blinn, A Trip down the Graphics Pipeline [Blinn, 31]) и «Грязные пикселы» (Dirty Pixels [Blinn, 32]), которые входят в серию «Уголок Джима Блинна» («Jim Blinn's Corner»), предлагается несколько статей, содержащих четкое объяснение проблем, возникающих при рисовании теней и гиперболической интерполяции, используемой при визуализации текстуры. В работе Хекберта «Исследование наложения текстуры» (Heckbert, «Survey of Texture Mapping* - [Heckbert, 103]) рассматривается множество интересных аспектов этой сложной темы. Превосходное изложение темы содержится в статье Сегала «Быстрые тени и влияние освещения при использовании текстурного отображения» (Segal, «Fast Shadows and Lighting Effects Using Texture Mapping* - [Segal, 181]), а также в работе Хеберли и Сегала «Текстурное отображение как фундаментальный графический примитив» (Haeberli and Segal, «Texture Mapping as a Fundamental Drawing Primitive» - [Haeberli, 97]) (их также можно найти в Интернете на сайте http://www.sgi.com/ grafica/texmap/).


⇐ Предыдущая| |Следующая ⇒