Przedmiot: Grafika komputerowa

Transkrypt

Przedmiot: Grafika komputerowa
Strona 1
Przedmiot:
Grafika komputerowa
Rodzaj
Semestr
Wymiar zajęć
Punkty ECTS
Sposób zaliczania
Przedmiot specjalnościowy
30 godzin wykładu, 30 godzin ćwiczeń
6
egzamin
Treści programowe:
1. Wstęp, krótka historia grafiki komputerowej
2. Część teoretyczna:
a) Podstawy algorytmiczne i teoria grafiki komputerowej
b) Podstawy geometrii w grafice 2D i 3D
▪
transformacje postawowe
▪
krzywe B-spline, siatki, powierzchnie
c) Przykładowe algorytmy:
▪
kreślenia prostych na ekranie rastrowym
▪
algorytmy wypełniania obszarów
▪
rzutowanie ukośne i perespektywiczne
d) Podstawy renderingu
▪
Modele oświetlenia lokalnego i globalnego
▪
Metody śledzenia promieni
▪
Metody energetyczne
▪
Podstawy teorii barw
e) Tekstury, rendering Gorouda, Phonga, Wardiso, itp.
f) Na życzenie: elementy programowania 3D w OpenGL lub DirectX
3. Część praktyczna
a) Oprogramowanie stosowane do tworzenia grafiki 2D i 3D: przegląd i analiza
możliwości
b) Podstawy praktycznego modelowania 3D, podstawowe pojęcia
c) Interfejs programów 3D - szczególnie Blender3D
d) Renderery (Povray, Mentalray, Maxwell, Blender, Yafray)
e) Modelowanie
▪
operacje 3D – intersect, union, weld, extrude, smooth, itp)
▪
zaawansowane modelowanie i narzędzia obróbki 3D
▪
własne rozszerzenia w Pythonie, system pluginów, import/export
f) Oświetlenie sceny
▪
światła typu PointLight
▪
światła typu AreaLight
▪
światła typu Hemi, SunLight
▪
lampy fotonowe i efekty kaustyki (PhotonLamp)
▪
promieniowanie hemisfery i światła typu AmbientLight
▪
modelowanie parametryczne świata 3D
▪
oświetlenie w modelu Ambient Occlusion
g) Teksturowanie
▪
Materiały, tekstury i shadery
▪
Filtry tekstur
▪
Mapowanie tekstur oraz transformacje tekstur
▪
Teksturowanie brył i metody unwrappingu
▪
Tekstury parametryczne
▪
Miksery i transformacje tekstur w Node Editor
h) Renderowanie
▪
Metody przyspieszania renderingu, backing tekstur
i) Animacja
▪
Podstawy animacji: chronometraż, krzywe IPO, klatkowanie
▪
Animacja parametryczna i symulacje fizyki
▪
Tworzenie gier i wykorzystanie silnika fizycznego Blendera
Literatura:
Strona 2
1. Foley J.D., van Dam A., i inni , Wprowadzenie do grafiki komputerowej, WNT,
2. Grafika komputerowa metody i narzędzia, praca zbiorowa pod red. J.
Zabrodzkiego, WNT,
3. S. Wright, B Lipchak: OpenGL księga eksperta, Helion,
4. Angel E., Interactive Computer Graphics: A top-down approach using OpenGL.
Addison-Wesley.
5. Foley et al, Introduction to Computer Graphics. Addison-Wesley.
6. Angel E., OpenGL Primer. Addison-Wesley.
7. Woo et al, OpenGL Programming Guide (Fourth Edition). Addison-Wesley.
8. Computer Graphics and Applications – czasopismo
9. Materiały z Blender Foundation, http://blender.org
10. Blender: Beginners Tutorial Guide:
http://download.blender.org/documentation/BlenderTutorialGuide1.tar.gz
11. Blender: Dokumentacja użytkownika:
http://wiki.blender.org/index.php/Main_Page.pl
Skrócony opis przemiotu:
Grafika komputerowa jest od lat uznanym i wdzięcznym tematem, przyciągającym
zarówno artystów, jak i matematyków. Celem przedmiotu jest prezentacja podstaw
wiedzy związanej z technikami obliczeniowymi stosowanymi w grafice 2D i 3D, jak
również umożliwienie samodzielnego wejścia w świat modelowania i renderingu. Cały
przedmiot jest podzielony na część teoretyczną i praktyczną. W części teoretycznej jest
mowa o matematyce, fizyce światła i programowaniu, natomiast w części praktycznej
wykład dotyczy samodzielnego modelowania scen 3D, oświetlania ich, oteksturowywania
oraz renderowania. W efekcie student może zdobyć podstawy pozwalające na
samodzielne pisanie aplikacji rysujących w 2D/3D oraz umiejętność generowania
trójwymiarowych scen i animacji za pomocą Blendera3D.
Wymagane oprogramowanie:
1. System operacyjny: Linux + X lub Windows XP/Vista
2. Język programowania: C/C++ z bibliotekami Xlib, OpenGL, GLUT, itp.
3. Modeler 3D: Blender3D z Blender Foundation
4. Renderer 3D: Yafray, ewentualnie Blender
5. Ewentualnie: Python 2.5, Powray, Perl, i inne typowe narzędzia