Приднестровский
Государственный Университет
им.
Т.Г.Шевченко
Контрольная
работа №2
Тема: «Работа
с цветом в библиотеке OpenGL».
Тирасполь, 2010 г.
1. Цель: Научиться
работать с цветом, используя графическую библиотеку OpenGL.
2. Задача: Написать
программу, отображающую:
1. квадрат, с меняющимся
цветом, в зависимости от изменения градиентов (R,G,B).
2. треугольник, вершины
которого имеют цвета (0. 1, 1), (1, 0, 1), (1, 1, 0).
3. прямоугольная полоса в
виде спектра.
3. Методика решения: Строим
поочередно данные фигуры, закрашивая соответствующими цветами.
Решение:
#include
<GL/glut.h>
#include
<stdlib.h>
#include
<math.h>
GLint Width =
800, Height = 600;
GLdouble r = 0, g = 0, b = 0;
//Функция вырисовки на
экране
void Display()
{
glClearColor(1,
1, 1, 1);
glClear(GL_COLOR_BUFFER_BIT);
// квадрат, меняющий цвет
glBegin(GL_QUADS);
glColor3d(r,
g, b);
glVertex2i(2,
10);
glVertex2i(2,
15);
glVertex2i(7,
15);
glVertex2i(7,
10);
glEnd();
//треугольник
glBegin(GL_TRIANGLES);
glColor3d(0,
1, 1);
glVertex2d(10,
10);
glColor3d(1,
0, 1);
glVertex2d(14,
15);
glColor3d(1,
1, 0);
glVertex2d(19, 10);
glEnd();
// полоска в виде спектра
glBegin(GL_QUAD_STRIP);
//красный
glColor3ub(255,
0, 0);
glVertex2d(2,
5);
glVertex2d(2,
7);
glVertex2d(3,
5);
glVertex2d(3,
7);
//оранжевый
glColor3ub(255,
128, 0);
glVertex2d(5,
5);
glVertex2d(5,
7);
//желтый
glColor3ub(255,
255, 0);
glVertex2d(7,
5);
glVertex2d(7,
7);
//зеленый
glColor3ub(0,
255, 0);
glVertex2d(9,
5);
glVertex2d(9,
7);
//голубой
glColor3ub(0,
255, 255);
glVertex2d(11,
5);
glVertex2d(11,
7);
//синий
glColor3ub(0,
0, 255);
glVertex2d(13,
5);
glVertex2d(13,
7);
//фиолетовый
glColor3ub(128,
0, 255);
glVertex2d(15,
5);
glVertex2d(15,
7);
glEnd();
glFinish();
}
//Функция вызывается при
изменении размеров окна
void
Reshape(GLint w, GLint h)
{
Width = w;
Height = h;
// устанавливаем размеры
области отображения
glViewport(0, 0, w, h);
// отрографическая
проекция
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 20,
0, 20, -1, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
// Функция обработки
сообщений с клавиатуры
void
Keyboard(unsigned char key, int x, int y)
{
#define ESCAPE
' 33'
if (key ==
ESCAPE)
exit(0);
if (key ==
'r')
r -= 0.05;
if (key ==
'f')
r += 0.05;
if (key ==
't')
g -= 0.05;
if (key ==
'g')
g += 0.05;
if (key ==
'y')
b -= 0.05;
if (key ==
'h')
b += 0.05;
glutPostRedisplay();
}
// Главный
цикл приложения
void main(int
argc, char* argv[])
{
glutInit(&argc,
argv);
glutInitDisplayMode(GLUT_RGB);
glutInitWindowSize(Width,
Height);
glutCreateWindow("wtf");
glutDisplayFunc(Display);
glutReshapeFunc(Reshape);
glutKeyboardFunc(Keyboard);
glutMainLoop();
}
Результаты:
Другие работы по теме:
«Применение OpenGL»
Государственное образовательное учреждение высшего профессионального образования
работа
Кинематографы создают удивительные спецэффекты или полностью анимированные фильмы. В последние годы широкое распространение получили также компьютерные игры, максимально использующие трехмерную графику для создания виртуальных миров
Милн Алан
(18.1.1882 - 31.1.1956) Родился в Лондоне в семье учителя, по происхождению шотландец. Начатками образования обязан Герберту Уэллсу, которого позднее называл "великим писателем и великим другом". Окончил школу при Вестминстерском аббатстве, затем поступил в Кембридж; именно в Кембридже, в библиотеке Тринити-колледжа, были написаны первые главы "Винни-Пуха" .
Бернет
Бернет - постоянный псевдоним поэта Алексея Кирилловича Жуковского (1810-1861). Представитель романтизма послепушкинского периода.
Берлинский вопрос
Фактически признанный статус-кво с возведением Берлинской стены: ФРГ (синим цветом), ГДР и Восточный Берлин (красным цветом) и де-юре не принадлежащий ФРГ Западный Берлин (жёлтым цветом)
Планисфера Кантино
— драгоценный памятник эпохи Великих географических открытий, запечатлевший состояние географических знаний португальцев на рубеже XV и XVI веков.
Библиотека РусАрх
Библиотека «РусАрх» — крупнейшая в Рунете некоммерческая специализированная электронная научная библиотека по истории древнерусской архитектуры.
Cincinnati Masters 2009
План Введение 1 US Open Series 1.1 Мужчины 1.2 Женщины 2 Соревнования 2.1 Мужчины одиночки 2.2 Женщины одиночки 2.3 Мужчины пары 2.4 Женщины пары Cincinnati Masters 2009
Pilot Pen Tennis 2009
План Введение 1 US Open Series 1.1 Мужчины 1.2 Женщины 2 Соревнования 2.1 Мужчины одиночки 2.2 Женщины одиночки 2.3 Мужчины пары 2.4 Женщины пары Список литературы
Манесский кодекс
Введение 1 Миннезингеры в Манесском кодексе 2 Исторические личности в Манесском кодексе Введение Манесский кодекс (Манесский песенник, Манесская рукопись, Гейдельбергская рукопись) (Codex Manesse) — наиболее известный средневековый песенник на немецком языке, хранится в библиотеке Гейдельбергского университета и состоит из 426 пергаменных листов размером 35,5Ч25 см.
Арсений Сатановский
О других священнослужителях с таким именем см. Арсений Арсений Сатановский (в миру носил фамилию Корецкий; Сатановский — прозвище, предположительно, от рождения в местности Сатанов в Подолье) — киевский ученый, христианский писатель и монах XVII века.
Побудова ліній та точок з допомогою комп’ютерної графіки
Алгоритм побудови лінії та використання графічної бібліотеки DirectX. Способи побудови довільної кількості довільного розміру точок на поверхні форми. Можливості комп'ютера виконувати мультимедійні програми під управлінням операційної системи Windows.
Что такое DirectX?
DirectX представляет собой набор технологий и инструментов, которые позволяют создавать разработчику игры и мультимедиа приложения с неслыханным во времена MS-DOS качеством графики и звука.
OpenGL и Delphi на практике
Предлагаю не откладывая в долгий ящик написать первую программу на OpenGL - а потом, окрылившись успехом, вернуться к теории и как следует проштудировать все книги и сайты по сабжу, чтобы уж стать настоящими монстрами трехмерного моделирования.
Использование OpenGL
Программный код OpenGL. Синтаксис команд OpenGL. OpenGL как конечный автомат. Конвейер визуализации OpenGL. Библиотеки, относящиеся к OpenGL. Библиотека OpenGL. Подключаемые файлы. GLUT, инструментарий утилит библиотеки OpenGL.
Создание графических объектов с помощью псевдографики
Основы работы на языке высокого уровня Turbo Pascal. Основное оборудование и программное обеспечение. Операторы, необходимы для работы в графической среде Turbo Pascal. Запуск графического режима. Текст программы в графической среде Turbo Pascal.
Построение геометрических тел с помощью библиотеки OpenGL
Создание программы, с помощью библиотеки OpenGL рисующей проволочный чайник с поворотом рисунка вокруг осей X, Y, Z. Построение отрографической проекции. Установка области отображения. Функция обработки сообщений с клавиатуры. Главный цикл приложения.
Основные конструкции библиотеки OpenGL
Определение области значений функции y=sin(x) и построение графика по точкам с помощью основных конструкций библиотеки OpenGL. Функции вырисовки на экране, обработки сообщений с клавиатуры. Установка размеров области отображения. Главный цикл приложения.
Модель трехмерной сцены и библиотека OpenGL
Построение динамической трехмерной сцены, включающей заданные тело и поверхность определенного вида средствами графической библиотеки. Наложение текстур на тела, поверхности с помощью функции SetupTextures. Графическое представление тела с текстурой.
Графічна бібліотека OpenGl
Програма створення графіки OpenGl. Алгоритми зафарбовування від внутрішньої точки до границь довільного контуру. Алгоритм обчислення координати точки кривої Без'є за заданними параметрами. Створення програм OpenGL мовою С, C++ у середовищі Windows.
Управление элементами поверхности
Изучение основных возможностей создания трехмерных объектов в программе OpenGL, методика наложения текстур. Механизм подключения библиотек. Создание поверхности ландшафта. Реализация ориентирования на поверхности. Изменение поверхности ландшафта.
Отримання зображень з допомогою комп’ютерної графіки
Використання CMY та CMYK для опису кольору при отриманні зображень методом поглинання кольорів. Субтрактивні кольори: блакитний (Cyan), пурпурний (Magenta) та жовтий (Yellow). Моделювання розповсюдження світла в об'ємі напівпрозорого середовища.
Трехмерная графика OpenGL
Кафедра: Информационные технологии Трехмерная графика OpenGL 1. Теоретическая часть 1.1 Подключение графической библиотеки OpenGL к интерфейсу Windows
Компьютерная графика 9
Федеральное агентство по образованию Пермский государственный технический университет Чайковский филиал Кафедра Информационных технологий Курсовая работа
Отчет по OpenGL
Оглавление Структура и применение OpenGl Основные библиотеки, используемые при создании приложений Массивы вершин и списки изображений (назначение и команды для их описания)
Статья о поэме А С Пушкина Медный всадник
Поэма была написана в Болдине осенью 1833 г. В рукописях ее начало помечено 6 октября, конец — 31 октября. Полностью поэма не была разрешена Николаем I к печати, и лишь ее начало Пушкин напечатал в "Библиотеке для чтения", 1834, кн. XII, под названием: "Петербург. Отрывок из поэмы" (от начала и кончая стихом "Тревожить вечный сон Петра", с пропуском четырех стихов, начиная со стиха "И перед младшею столицей").
Митоз. Этапы деления диплоидной клетки
На схеме показаны две пары гомологичных хромосом (они выделены разным цветом). Каждый член пары проходит через митоз как независимая единица. Во время интерфазы хромосомы имеют вид тонких, диффузных нитей, которые в норме трудно визуализировать.
Евсевий Кесарийский
Евсевий Кесарийский (ок. 260 – ок. 340), христианский богослов, «отец церковной истории», епископ Кесарии Палестинской после 315.
Коллинз Билли
Коллинз, Билли (Collins, Billy) (р. 1941), американский поэт, поэт-лауреат США (2001). Это чрезвычайно почетное звание дается вместе с должностью сроком на год с предоставлением кабинета в Библиотеке конгресса в Вашингтоне.