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
|
Teachers | Leaders: Mirko Bulaja, pred. |
Prerequisits | None |
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) | - Uvod u računalnu grafiku. Povijest. Definicije. Grafički ulazni i izlazni uređaji. Scanline grafika, framebuffer grafika. Pikseli, boje, RGB prostor boja. GPU.
- Crtanje linija. Aproksimacija idealne dužine u ravnini. Line DDA algoritam. Bresenham-ov algoritam.
- Linije - Bresenham run-slice algoritam. Wu's double step. Supercover, Xiaolin Wu (antialiasiranje linija).
- Crtanje polyline-a. Par-nepar pravilo, non-zero winding rule. Rasterizacija kompleksnog poligona (Scanline conversion).
- BitBLT - kopiranje dijela ili cijele bitmape. Primjena sa i bez maske. Bitwise operacije kod kopiranja. Kompiniranje kolor bitmapa. Alpha blending, alpha compositing.
- 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.
- Not defined
- 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)
- Not defined
- Not defined
- Not defined
- Not defined
- Not defined
- Not defined
- Not defined
|
numeric exercises (N) | - 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.
- Interpretacija lažnim bojama. Line DDA sa pomičnim zarezom. Bresenhamov algoritam - implementacija cijelim brojevima.
- Xiaolin Wu crtanje antialiasiranih linija. Supercover - primjena na "occlusion map".
- Rasterizacija kompleksnih poligona algoritmom Scanline konverzije.
- Implementacija draw_bitmap sa on/off maskom. Automatsko generiranje maske sa rubom iz bitmape. Problemi sa bitwise operacijama kod grayscale/kolor bitmapa.
- Mini aplikacija za obradu slike. Detalji o implementaciji blur, sharpen filtera. Demonstracija levels, auto levels filtera.
- opis za vjezbe pred kol 1
- opis za vjezbe pred kol 1
- par sa pred 8. webgl prim 1.
- Not defined
- Not defined
- Not defined
- Not defined
- Not defined
- Not defined
|
laboratory exercises (L) | - 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.
- Crtanje kruga testiranjem jednadžbe kruga za svaki piksel. Popunjavanje kruga preko horizontalnih segmenata. (radi se jos primjera - nadopuniti)
- Crtanje linija Bresenham i line DDA algoritmima. Pronađi grešku. Adaptiraj primjere tako da craju elipsu.
- Crtanje polygona scanline algoritmom. Verificiraj da program ne radi overdraw - da se dva susjedna poligona ne preklapaju.
- Modificiranje draw_bitmap funkcije sa alpha blending funkcionalnošću. Generiranje konstantne poluprozirne maske.
- Implementacija blur filtera bez upotrebe pomoćnih funkcija.
- Not defined
- Not defined
- Not defined
- Not defined
- Not defined
- Not defined
|
preliminary exam - theory (PT) | - Framebuffer, pikseli, linije, poligoni, bitmape, obrada slika.
- Not defined
|
exam - theory (ET) | - Not defined
|
autonomus learning (AL) | - testovi i kolokviji, konzultacije, samostalni rad i samostalno učenje
|