Skip to main content

DIT - Computer graphics

Subject name

Computer graphics

Details
Code
VSITE255
Abbrev.
GRAF
ECTS
5
Year
2
Semester
Summer semester
Type
major obligatory
NQF Level 7
Master's study
E-Learning
0%
Activities
DIT zg - Win 24/25
ECTS
Units
Hours
Total
T
1
15
2
30
N
0.5
15
1
15
L
0.5
12
1
15
S
0
0
0
0
PN
0
0
0
0
PT
0
2
2
0
PR
0
0
0
0
EN
0
0
0
0
ET
0
1
2
0
AL
3
1
90
90
TeachersLeaders: Mirko Bulaja, pred.
PrerequisitsNone
Content

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.

Learning objectives

Osposobiti studenta za primjenu računalne grafike.

Learning outcomes

1. List the applications and concepts of computer graphics, explain the hardware of computer graphics, graphics systems and packages, interactive graphics, the graphics terminal and graphics processor, define raster and vector systems, animation, colour.
2. Apply mathematical foundations of computer graphics and algorithms of 2D and 3D modeling.
3. Apply graphics transformations, raster graphics algorithms.
4. Apply libraries of graphics functions.
5. Enhance an image.

Competencies

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

Recommended Literature

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.

Additional Literature
lectures (T)
  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. Not defined
  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. Not defined
  10. Not defined
  11. Not defined
  12. Not defined
  13. Not defined
  14. Not defined
  15. Not defined
numeric exercises (N)
  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. Not defined
  11. Not defined
  12. Not defined
  13. Not defined
  14. Not defined
  15. Not defined
laboratory exercises (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. Not defined
  8. Not defined
  9. Not defined
  10. Not defined
  11. Not defined
  12. Not defined
preliminary exam - theory (PT)
  1. Framebuffer, pikseli, linije, poligoni, bitmape, obrada slika.
  2. Not defined
exam - theory (ET)
  1. Not defined
autonomus learning (AL)
  1. testovi i kolokviji, konzultacije, samostalni rad i samostalno učenje

Ulica Vjekoslava Klaića 7, 10000 Zagreb, tel. 01/3764200 fax. 01/3764264