Комп'ютерна графіка
Дисципліна «Комп’ютерна графіка» спрямована на формування у здобувачів теоретичних знань та практичних навичок, необхідних для ефективного програмування комп’ютерної графіки з використанням OpenGL. Курс охоплює основні підходи та методології розробки програм за допомогою бібліотек OpenGL (традиційні та гнучкі), інструменти для створення й трансформацій, методи перетворення, використання ресурсів, а також практики розробки програм-редакторів з 2D- та 3D-графікою.
У межах курсу студенти вивчають команди безкоштовних бібліотек OpenGL які використовуються для безпосередньої роботи з відеокартами та відтворюють різноманітну 2D- та 3D-графіку.
Мета вивчення дисципліни: набуття здобувачами компетентностей із застосування інформаційних технологій для вирішення практичних задач програмування графіки з використанням бібліотек OpenGL.
Основні завдання дисципліни: формування знань та навичок з програмування графіки, налаштування проєкту з бібліотеками OpenGL що підключаються, створення та подальшій вибір 3D об’єктів у просторі, використання освітлення, матриць трансформації, відсікання, текстурування.
Практичне значення та використання отриманих знань полягає у формуванні навичок ефективного програмування для розробки професійного програмного забезпечення.
Значення для особистісного та професійного розвитку: розвиток лідерських і комунікаційних навичок, критичного мислення, приймати обґрунтовані проєктні рішення і адаптуватися до змін технологічного середовища.
Тематика та види навчальних занять
Для денної форми здобуття освіти
Лекційні заняття
Лекція 1. Введення в OpenGL, підключення бібліотек та налаштування проєкту.
Лекція 2. OpenGL як машина стану (state machine).
Лекція 3. Проєкційні трансформації та формування виду у OpenGL.
Лекція 4. Колірне сприйняття та кольорові режими.
Лекція 5. Створення 2D-примітивів у 3D-просторі.
Лекція 6. Створення 3D-примітивів.
Лекція 7. Матриця трансформацій у OpenGL.
Лекція 8. Маніпулювання матричними стеками.
Лекція 9. Порти перегляду.
Лекція 10. Дисплейні списки.
Лекція 11. Освітлення та джерела світла.
Лекція 12. Налаштування освітлення.
Лекція 13. Матеріали у OpenGL.
Лекція 14. Застосування миші задля вибору об’єктів у 3D-просторі.
Лекція 15. Використання текстур.
Лабораторні роботи
Лабораторна робота №1. Створення та налаштування проєкту, базові команди завдання режимів.
Мета заняття: ознайомитися із базовими командами завдання режимів OpenGL, навчитися створювати проєкт, створити подію промальовування кадра та встановити площини відсікання.
Лабораторна робота №2. Кольорові режими та формування виду у OpenGL.
Мета заняття: навчитися створювати камеру та формувати види у просторі, правильно визначати вектор «верху», використовувати та змінювати кольорові режими.
Лабораторна робота №3. Створення 2D-примітивів у 3D-просторі.
Мета заняття: опанувати методи промальовування різноманітних 2D-примітивів та алгоритмів їх побудови (точка, відрізок, ломана, трикутник, чотирикутник, багатокутник).
Лабораторна робота №4. 3D-примітиви та матриці трансформацій у OpenGL.
Мета заняття: навчитися формувати 3D-примітиви OpenGL та навчитися використовувати матриці трансформацій для їх розташування, обертання та масштабування.
Лабораторна робота №5. Освітлення та джерела світла у OpenGL.
Мета заняття: освоїти роботу з джерелами освітлення та можливостями їх налаштувань.
Лабораторна робота №6. Застосування миші задля вибору об’єктів у 3D-просторі.
Мета заняття: відпрацювати практичні навички обрання об’єктів у 3D-просторі за допомогою миші, створити програму-редактор для створення об’єктів та їх виділення.
Лабораторна робота №7. Текстурування.
Мета заняття: навчитися використовувати текстури та розташовувати їх різноманітними засобами у просторі OpenGL.
Для заочної форми здобуття освіти
Лекційні заняття
Лекція 1. Вступ до курсу. Введення в OpenGL та налаштування проєкту. Проєкційні трансформації та формування виду у OpenGL. Колірне сприйняття та кольорові режими. Створення 2D-примітивів у 3D-просторі.
Лекція 2. Створення 3D-примітивів. Матриця трансформацій у OpenGL. Освітлення та джерела світла. Застосування миші задля вибору об’єктів у 3D-просторі. Використання текстур.
Лабораторні роботи
Лабораторна робота №1. Створення та налаштування проєкту, базові команди завдання режимів. Кольорові режими та формування виду у OpenGL. Створення 2D-примітивів у 3D-просторі.
Мета роботи: ознайомитися із базовими командами завдання режимів OpenGL, ознайомитися з кольоровими режимами та особливостями формуванням виду у OpenGL. Опанувати методи промальовування різноманітних 2D-примітивів та алгоритмів їх побудови (точка, відрізок, ломана, трикутник, чотирикутник, багатокутник).
Лабораторна робота №2. 3D-примітиви та матриці трансформацій у OpenGL. Освітлення та джерела світла у OpenGL. Використання миші задля вибору об’єктів. Текстурування.
Мета роботи: навчитися формувати 3D-примітиви OpenGL та використовувати матриці трансформацій. Освоїти роботу з джерелами освітлення та можливостями їх налаштувань. Відпрацювати практичні навички обрання об’єктів у 3D-просторі за допомогою миші. Навчитися використовувати текстури.
Консультації здійснюються впродовж семестру згідно встановленого розкладу.
Індивідуальна робота
Для денної форми здобуття освіти
Не перебачено.
Для заочної форми здобуття освіти
Контрольна робота
Завдання для виконання контрольної роботи здобувач отримує на установчій лекції.
Робота містить 5 теоретичних питань та 2 практичних завдання.
Обсяг відповіді на кожне теоретичне питання: не менше, ніж 1 сторінка машинописного тексту. Текст відповіді повинен бути виконаний самостійно, а не скопійованим з навчального посібника.
Лабораторна робота №1. Створення та налаштування проєкту, базові команди завдання режимів. Кольорові режими та формування виду у OpenGL. Створення 2D-примітивів у 3D-просторі.
Лабораторна робота №2. 3D-примітиви та матриці трансформацій у OpenGL. Освітлення та джерела світла у OpenGL. Використання миші задля вибору об’єктів. Текстурування.
Термін надання виконаної контрольної роботи на перевірку – не пізніше, ніж за місяць до початку сесії.
К1. Здатність до використання теоретичних і практичних знань при програмуванні 2D- та 3D-графіки з використанням OpenGL.
Алгоритмізація та програмування
Об'єктно-орієнтоване програмування
РН1. Знання та навички використання теоретичних і практичних основ при
програмуванні 2D- та 3D-графіки з використанням OpenGL.