Разработать приложение, реализующие следующий пункты:
- Отобразить в окне множество примитивов GL_LINE_STRIP (вершины которых задаются кликами мыши).
- Для завершения текущего (активного) набора (множества) примитивов и начала нового зарезервировать специальную клавишу (пробел или правый клик мыши).
- Для текущего набора примитивов представить возможность изменения цвета и координат его вершин.
- Текущее множество примитивов выделять среди других.
- Предусмотреть возможность удаления последнего примитива и последнего набора примитивов.
- Продублировать команды в меню, созданном с помощью библиотеки GLUT.
Дополнительные задачи:
- Изменение не только координат и цвета вершин примитивов, но и режимов сглаживания, шаблона закрашивания примитива, … .
- Изменение параметров (в том числе и удаление) не только текущего набора примитивов, но и произвольного.
- Изменение параметров произвольного примитива в наборе.
Разработать приложение, реализующие следующий пункты:
- В соответствии с заданием отобразить объекты (правильные многоугольники), центр и «радиус» которых определяются кликами мыши.
- Предоставить возможность изменять форму и положение объектов модельно-видовыми преобразованиями.
- Предоставить возможность изменять цвет и текстуру текущего (активного) объекта.
- Предоставить возможность включать и выключать логические операции смешивания цветов (в соответствии с вариантом задания).
- Вывести на экране динамически меняемую крупную сетку условных пикселей и на ней растеризовать данные объекты в режимах «контур» и «с заполнением».
- При растеризации пересекающихся объектов цвет области пересечения определять в соответствии с заданной операцией смешения цветов.
- Продублировать команды в меню, созданном с помощью библиотеки GLUT.
Объект | Логические операции |
---|---|
Правильный шестиугольник | AND + NOT AND |
Разработать приложение, реализующее сцену с объектом «Сфера» при помощи примитива OpenGL с возможностью изменения масштаба, радиуса, цвета, текстур сферы и других параметров.
Объект | Примитив |
---|---|
Сфера | GL_TRIANGLES |
Разработать приложение, реализующие следующий пункты:
- Считывать из файла (в зависимости от варианта):
а) тип объекта;
б) координаты и размер объектов;
в) параметры материала объектов. - Выполнить трассировку первичных лучей.
- Добавить зеркальную плоскость и учесть отраженные лучи.
- Предусмотреть возможность включения/исключения объектов.
- Предусмотреть возможность изменения положения источника света.
Объекты №1 | Объекты №2 | Объекты №3 |
---|---|---|
Сферы | Прямоугольные призмы | Плоские поверхности |
Реализовать программу, отображающую график функции, получаемой в результате использования замкнутого B-сплайна переменной степени.
Входными данными является набор точек на экране, задаваемый в произвольном порядке с помощью мыши. При добавлении новой точки сплайн должен автоматически перестраиваться.
Программа должна предоставить возможность движения по сцене и масштабирования с помощью клавиатуры/мыши.
Координатные оси и координатная сетка должны быть отображены и подписаны, причем при масштабировании размер ячеек сетки не должен меняться – меняются только числовые подписи и масштабируется сам график.
В том случае, когда недостаточно контрольных точек для построения сплайна, следует выдавать соответствующее предупреждение, а сам сплайн, например, отображать ломаной.