Skip to content

Latest commit

 

History

History
145 lines (94 loc) · 8.75 KB

README.md

File metadata and controls

145 lines (94 loc) · 8.75 KB

Лабораторные работы по компьютерной графике(OPENGL)

Лабораторная работа №1

Освоение среды разработки, подключения графической библиотеки, сборки приложения Запустить среду разработки, скомпилировать любое приложение с вызовами библиотеки Open GL, при необходимости настроить работу с библиотеками и заголовочными файлами. Среда программирования – Visual C++ или QT Creator c MinGW и Open GL.

Результат работы:

image

Лабораторная работа №2

Работа с трехмерными объектами Создать приложение, выводящее объемный объект средствами Open GL. Среда программирования – Visual C++ или QT Creator c MinGW и Open GL.

Результат работы:

image

image

Лабораторная работа №3

Работа с источником света и свойствами материала поверхности. Включить источник света, задать отражающие свойства поверхностей: диффузное, зеркальное отражение, цвет поверхности. Вывести несколько объемных объектов. Каждый из них должен иметь различные свойства поверхностей (доминирующее зеркальное или диффузное отражение, различный цвет внешних поверхностей).

Результат работы:

image

Лабораторная работа №4

Работа с источником света и свойствами источников и материалов. Включить 3 источника света, задать отражающие свойства поверхностей, положение и цвет источников света. Рекомендуется цвет поверхностей сделать одинаковым, а отражающие свойства – разными. Вывести несколько объемных объектов. Источники света должны иметь различный цвет. Необходимо организовать вращение сцены, управляемое с клавиатуры (сцена с объектами объекты вращается, источники неподвижны)

Результат работы:

image

image

Лабораторная работа №5

Работа с буфером глубины, прозрачностью. Вывести несколько пересекающихся объектов, как минимум один из них должен быть прозрачным. Включить 3 источника света, задать свойства поверхностей и источников. Организовать раздельное вращение источников света вокруг неподвижной сцены, управляемое с клавиатуры или мышью.

Результат работы:

image

Свет от источников падает частично падает на лицевую сторону сцены , из-за чего мы наблюдаем блики на торе, и окрашивание сторон тетраэдра.

image

В данном примере источники светят на заднюю сторону сцены, поэтому грани тетраэдра потемнели ,а тор почти не отбрасывает бликов.

Лабораторная работа №6

Работа со списками, текстурой и NURBS-поверхностями. Вывести сложный трехмерный объект, сохранить его в виде списка и размножить в виде нескольких копий различного масштаба на экране путем повторного вывода списка. Выводимые объекты располагаются над рельефом, задаваемым NURBS-поверхностью. Наложить текстуру на выводимые объекты, сцена должна быть освещена, необходимо предусмотреть возможность включения эффекта тумана (при помощи клавиатуры или мыши).

Результат работы:

image

Пирамиды с включенным туманом.

image

Пирамиды с выключенным туманом.

Лабораторная работа №7

Вывод трехмерных объектов с динамическим расчетом проекционных теней. Вывести трехмерную сцену с движущимся объектом, который отбрасывает тень на другой объект (напр. плоскость). Тень должна перемещаться вместе с движением объекта исходя из взаимного положения источника света, объекта, который отбрасывает тень и объектов, на которые тень проецируется.

Результат работы:

При перемещении источника света ,изменяется тень чайника.

image

image

image

Лабораторная работа №8

Освоение работы с программируемыми шейдерами Выполнить на выбор один из вариантов:

  • Шейдер с сохранением данных в текстуре,
  • Процедурный, текстурный шейдер,
  • Традиционные шейдер,
  • Фрагментный шейдер,
  • Вершинный шейдер. Примеры из пакета с компилятором Cg не допускаются

Результат работы:

При перемещении трехмерных объектов ,изменяется их цвет.

image

image

image

Лабораторная работа №9

Освоение Open Scene Graph Вывести трехмерную сцену средствами библиотеки Open Scene Graph. В работе должны быть использованы только вызовы OSG. Cостав сцены (количество и внешний вид объектов создаваемой сцены) для каждого варианта уточняется с преподавателем.

Результат работы:

image