Геом моделирование 2D объектов бис бис (1). У геометрическое моделирование и отображение двухмерных объектов средствами открытой графической библиотеки
Скачать 0.74 Mb.
|
Программа выполнения задания Число объектов в сцене – не менее трех. В качестве объектов сцены использовать геометрические фигуры из задания 1, которые для получения требуемого числа объектов рисуются несколько раз. Применить дисплейные списки. Спроектировать сцену, выбрав необходимые команды и их параметры. Разработать последовательность геометрических преобразований, необходимых для поворота на заданный угол а) всей сцены, б) каждого объекта сцены в отдельности. Пояснить различие. Выбрать цвета фона и фигур. В программу-заготовку ввести команды сдвига и поворота системы координат. Чтобы упростить размещение объектов в сцене, использовать стек модельно-видовых матриц. Размеры фигур, при необходимости, изменить командой масштабирования. Получить изображение сцены. Надлежащим выбором параметров команд сдвига добиться размещения объектов сцены в соответствии с заданием. Задать такие параметры команд glTranslate, glRotate, чтобы графические объекты сцены частично перекрывались. Проанализировать вид сцены с включенным и выключенным буфером глубины. Задание 3. Текстурирование объектов Цель выполнения задания: повышение реалистичности отображения объектов за счет наложения на их поверхность характерного узора – текстуры; изучение средств текстурирования. Изучаемые команды Команды подготовки текстур: glEnable(GL_TEXTURE_2D), glBindTexture, glTexImage2D, auxDIBImageLoad. Команды наложения текстуры: glTexParameter, glTexCoord. Задания на текстурирование предусматривают применение в сцене двух текстур: для фоновой заставки и для геометрических объектов. Текстура заставки накладывается на отдельный четырехугольный примитив и имеет тему – лесную, морскую и т.д. Фон, элементы и детальность текстуры определяются студентами самостоятельно, но исходя из темы. Фоновая текстура выполняется инструментами графического редактора и дополняется фамилиями исполнителей. Текстура для объектов сцены имеет геометрический рисунок, выполняемый инструментами растрового графического редактора. Цветовые решения текстур определяются студентами. Варианты задания на текстурирование приведены в таблице Б2.3. Таблица Б2.3
Программа выполнения задания 1. Спроектировать сцену, используя объекты задания 2 и добавив общую заставку. Изготовить текстуры средствами растрового графического редактора. Размеры текстур выбрать кратными степени числа 2. Текстуры сохранить в формате bmp. 2. В программу-заготовку ввести команды подготовки и наложения текстур на объекты сцены. В программах на C-подобных языках использовать команды расширения GLAUX, в программах на Delphi (ObjectPascal) – свободно распространяемый модуль ВМР.pas. Для использования модуля ВМР его необходимо присоединить к программе в разделе uses. Загрузка текстуры осуществляется с помощью вызова процедуры LoadTexture (‘<имя>.bmp’, TexName); , где <имя> – имя bmp-файла текстуры, а TexName (типа GLuint) – имя текстурного объекта. Нужно обратить внимание на то, что имя и расширение текстурного файла заключаются в апострофы. После загрузки наложение текстуры на графический объект выполняется обычным образом (glTexCoord). 3. Для лучшего восприятия текстурированных объектов их цвет перед наложением текстур нужно сделать белым (задать единичные значения R-G-B-компонентам в команде glColor). 4. Получить изображение сцены с текстурированными объектами. 5. Изменить расположение текстуры на примитиве, повернув ее на заданный угол. СПИСОК ЛИТЕРАТУРЫ Эйнджел Э. Интерактивная компьютерная графика. Вводный курс на базе OpenGL, 2-е издание: Пер. с англ. – М.: Издательский дом «Вильямс», 2001. – 590 с. Краснов М.В.Open GL в проектах Delphi. – СПб.: BHV-Санкт-Петербург, 2002. – 352 с. Херн Д., Бейкер М.П. Компьютерная графика и стандарт OpenGL, 3-е издание: Пер. с англ. – М.: Издательский дом «Вильямс», 2005. – 1168 с. Ву М., Девис Т., Нейдер Дж., Шрайнер Д. OpenGL. Руководство по программированию. Библиотека программиста. 4-е издание. – СПб.: Питер, 2006. – 624 с. Баяковский Ю.М., Игнатенко А.В. Начальный курс OpenGL. – М.: «Планета знаний», 2007. – 221 с. Сайт «OpenGL. Программирование с использованием OpenGL». – Доступно из URL: http://www.opengl.org.ru/ |