Naziv predmeta

Računalna grafika

Detalji
Kod
VSITE255
Skr.
GRAF
ECTS
5
Godina
2
Semester
Ljetni semestar
Vrsta
obvezatni smjera
Razina HKO 7
Diplomski studiji
E-Learning
0%
Aktivnosti
DIT zg - Zim 19/20
ECTS
Jedinice
Sati
Svega
P
1
15
2
30
A
0.5
15
1
15
L
0.5
12
1
15
S
0
0
0
0
KA
0
0
0
0
KP
0
2
2
0
PR
0
0
0
0
IP
0
0
0
0
IU
0
1
2
0
SU
3
1
90
90
NastavniciNositelji: Mirko Bulaja, pred.
PreduvjetiNema
Sadržaj

Primjene i osnovni koncepti računarske grafike. Računarska grafika u inženjerskim primjenama. Sklopovska oprema za računalnu grafiku Grafički programski paketi i grafički sustavi. Interaktivna računarska grafika. Grafički terminal i grafički procesor. Matematički temelji računarske grafike. Algoritmi 2D grafike i 3D modeliranje. Rasterski i vektorski grafički sustavi. Grafičke transformacije. Projekcije. Osnovni algoritmi rasterske grafike. Prikazivanje crta, krivulja, površina i tijela. Animacija. Boja u računalnoj grafici. Biblioteke grafičkih funkcija. Digitalna obrada i analiza slike. Poboljšanja slike.

Ciljevi učenja

Osposobiti studenta za primjenu računalne grafike.

Ishodi učenja

1. Nabrojati primjene i koncepte računalne grafike, objasniti sklopovlje računalne grafike, grafičke sustave i pakete, interaktivnu grafiku, grafički terminal i grafički procesor, definirati rasterske i vektorske sustave, animaciju, boju.
2. Primijeniti matematičke temelje računalne grafike i algoritme 2D i 3D modeliranja.
3. Primijeniti grafičke transformacije, algoritme rasterske grafike.
4. Primijeniti biblioteke grafičkih funkcija.
5. Poboljšati sliku.

Sposobnosti

Kolegij pruža osnovna znanja računalnog generiranja 2D i 3D prikaza, te obrade slike.

Preporučena literatura

1. McConnell, J. J.: Computer Graphics, Theory into practice, Jones and Barlett Publishers, USA, 2006.
2. Hearn, D.; Baker, M. P.: Computer Graphics with OpenGL, third edition. Prentice Hall, 2003.

Dodatna literatura
predavanja (P)
  1. Uvod u računalnu grafiku. Povijest. Definicije. Grafički ulazni i izlazni uređaji. Scanline grafika, framebuffer grafika. Pikseli, boje, RGB prostor boja. GPU.
  2. Crtanje linija. Aproksimacija idealne dužine u ravnini. Line DDA algoritam. Bresenham-ov algoritam.
  3. Linije - Bresenham run-slice algoritam. Wu's double step. Supercover, Xiaolin Wu (antialiasiranje linija).
  4. Crtanje polyline-a. Par-nepar pravilo, non-zero winding rule. Rasterizacija kompleksnog poligona (Scanline conversion).
  5. BitBLT - kopiranje dijela ili cijele bitmape. Primjena sa i bez maske. Bitwise operacije kod kopiranja. Kompiniranje kolor bitmapa. Alpha blending, alpha compositing.
  6. Obrada slike. Globalni filteri slike. Korekcija nivoa/tonova (Levels correction). Parametri i primjene korekcije nivoa. Gama korekcija. Korekcija boja. Filteri za zamučivanje i izoštravanje slike. Poopčenje definicije filtera - kernelske operacije obrade slike (2D konvolucija). Primjena kernelskih filtera na blur, sharpen, unsharp mask, detekciju rubova.
  7. Nije definirano
  8. WebGL uvod, usporedba sa OpenGL-om. Struktura WebGL programa. Inicijalizacija konteksta. Stvaranje buffer-a, vezivanje buffer-a, dodijeljivanje podataka. Verteks i fragment shaderi. Stvaranje minimalnog verteks i minimalnog fragment shadera. Vezivanje atributa shadera na podatke u buffer-u. (vjezbe unit 9)
  9. Nije definirano
  10. Nije definirano
  11. Nije definirano
  12. Nije definirano
  13. Nije definirano
  14. Nije definirano
  15. Nije definirano
auditorne vježbe (A)
  1. Organizacija framebuffera u memoriji. Prikaz framebuffera kao 2D, kao 1D memorijsko područje. Kontroliranje pojedinačnih piksela. Grayscale, RGB framebuffer. Crtanje računanjem uvjeta za svaki piksel.
  2. Interpretacija lažnim bojama. Line DDA sa pomičnim zarezom. Bresenhamov algoritam - implementacija cijelim brojevima.
  3. Xiaolin Wu crtanje antialiasiranih linija. Supercover - primjena na "occlusion map".
  4. Rasterizacija kompleksnih poligona algoritmom Scanline konverzije.
  5. Implementacija draw_bitmap sa on/off maskom. Automatsko generiranje maske sa rubom iz bitmape. Problemi sa bitwise operacijama kod grayscale/kolor bitmapa.
  6. Mini aplikacija za obradu slike. Detalji o implementaciji blur, sharpen filtera. Demonstracija levels, auto levels filtera.
  7. opis za vjezbe pred kol 1
  8. opis za vjezbe pred kol 1
  9. par sa pred 8. webgl prim 1.
  10. Nije definirano
  11. Nije definirano
  12. Nije definirano
  13. Nije definirano
  14. Nije definirano
  15. Nije definirano
laboratorijske vježbe (L)
  1. Inicijalizacija framebuffera kao 1D i 2D polje u C-u. Ispiši framebuffer pomoću ASCII znakova na konzolu. Isti primjer obradimo u Pythonu pomoću numpy matrice. Inicijalizirajmo novi framebuffer, prikažimo ga grafički kao 1D i 2D polja preko Matplotlib modula.
  2. Crtanje kruga testiranjem jednadžbe kruga za svaki piksel. Popunjavanje kruga preko horizontalnih segmenata. (radi se jos primjera - nadopuniti)
  3. Crtanje linija Bresenham i line DDA algoritmima. Pronađi grešku. Adaptiraj primjere tako da craju elipsu.
  4. Crtanje polygona scanline algoritmom. Verificiraj da program ne radi overdraw - da se dva susjedna poligona ne preklapaju.
  5. Modificiranje draw_bitmap funkcije sa alpha blending funkcionalnošću. Generiranje konstantne poluprozirne maske.
  6. Implementacija blur filtera bez upotrebe pomoćnih funkcija.
  7. Nije definirano
  8. Nije definirano
  9. Nije definirano
  10. Nije definirano
  11. Nije definirano
  12. Nije definirano
kolokvij - teorija (KP)
  1. Framebuffer, pikseli, linije, poligoni, bitmape, obrada slika.
  2. Nije definirano
ispit - teorija (IU)
  1. Nije definirano
samostalno učenje (SU)
  1. testovi i kolokviji, konzultacije, samostalni rad i samostalno učenje