Računalna grafika, skraćeno RG, je polje vizualnog računarstva koje rabi računala za stvaranje slika i/ili uklapanje i mijenjanje slikovnih i prostornih podataka koji su uzeti iz stvarnosti. Sam naziv 'računalna grafika' prvi je u upotrebu uveo William Fetter, Boeing (1960). Prvi veći napredak u računalnoj grafici napravio je Ivan Sutherland1962. kada je stvorio program Sketchpad s kojim je omogućeno prvo interaktivno stvaranje grafičkog sadržaja.
Opis
Kao jedan od središnjih problema računalne grafike ističe se nastojanje stvaranja fizikalno dosljedne sinteze elektromagnetskog okoliša zapisane u nekom unaprijed dogovorenom formalnom obliku predstave stvarne okoline. Izračun u takvoj mjeri fizikalno dosljednih slika zahtjeva simuliranjesvjetlosnog prijenosa, tj. međudjelovanja svjetlosti s materijalnim objektima, odnosno u okvirima računalne grafike - globalnog osvjetljenja. S obzirom na dvojnu valno-čestičnu prirodu svjetlosti i spektar raznovrsnih pojava koje se uz nju vezuju, izravna simulacija njenog prostiranja u mjerilu svagdašnjeg makrosvijeta predstavljala bi iznimno težak i za današnje prilike nepremostiv problem. Srećom, svjetlost s kojom se „svakodnevno susrećemo“ uglavnom je nekoherentna (izvori svjetlosti nemaju stalnu faznu razliku i jednake frekvencije), nepolarizirana i objekti s kojima vrši interakciju značajno su veći od njene valne duljine, te iz tih razloga većina današnjih računalnih rješenja u razmatranje uzima samo geometrijske zakonitosti pravocrtnog prostiranja vala svjetlosti. Ipak, neke pojave poput raspršenja svjetlosti u koloidnim sustavima (magla, nehomogene tekućine) iziskuju uvođenje složenijih i samim time računalno zahtjevnijih algoritamskih rješenja u cilju postizanja oku uvjerljivih rezultata.
S druge strane, učinkovitost sinteze slike ovisi i o mnogo više faktora nego što ih valno-čestična (undulatorno-korpuskularna) teorija svjetlosti može ponuditi, a prvenstveno je riječ o karakteristikama suvremenih prikaznih uređaja poput nelinearnosti i ograničenog dinamičnog opsega, fiziologije oka, pa čak i viših kognitivnih aspekata percepcije.
Dakle, ključan cilj računalne grafike je dati jasan i nedvosmislen odgovor na pitanje kako generirati naravnu računalnu predodžbu vizualne stvarnosti (NRPVS). Da je to u današnjim okolnostima sasvim ostvarivo, osvjedočili su se svi oni koji su imali prilike pogledati neki od recentnijih dugometražnih animiranih filmova poput Final Fantasya, Shreka i inih, ili vidjeti neku od niza vizualnih podvala koje nam svakodnevno serviraju u gotovo svim Hollywoodskim blockbusterima „novijeg“ datuma. Naime, padom cijena računalnog hardvera produkcijskim studijima postaje sve isplativije investirati u za te svrhe specijaliziranu računalnu opremu i angažiranje kvalificiranih računalnih stručnjaka i animacijskih umjetnika, čime uspijevaju značajno uštedjeti izbjegavajući konstrukcije velikih, složenih i prvenstveno basnoslovno skupih filmskih scena, poput masovnih bitaka starog i srednjeg vijeka u kojima sudjeluju na tisuće pripadnika zaraćenih strana, oživljavanja pretpovijesnih abominacija u njihovoj punoj veličini i svireposti, ili animiranja spektakularnih međugalaktičkih svemirskih okršaja nadasve epskih razmjera. Međutim, čak i ako izuzmemo filmove iz perspektive, područje primjene NRPVSa nikako nije osiromašeno: danas je ono uistinu neophodna karika u industrijskom dizajnu i arhitekturi, predstavljanju proizvoda (a.k.a. reklamama), „oživljavanju“ povijesne baštine i računalnim animacija općenito, a vrlo brzo postat će i svakodnevnica računalnih igara. Krajnji cilj i „Sveti Gral“ računalne grafike, svakako je virtualna stvarnost.
Povijest računalne grafike
Temelji računalne grafike mogu se pronaći u povijesnim umjetničkim i matematičkim otkrićima, primjerice:
Euklid (otprilike 300-250 g.pr.n.e.) čija formulacija osnovnih aksiomageometrije sačinjava osnovu grafičkih pojmova
Filippo Brunelleschi (1377 - 1446) arhitekt, zlatar i kipar, zapažen po pionirskom korištenju perspektive
Rene Descartés (1596-1650) koji je razvio analitičku geometriju, i napose koordinatni sustav s čime je omogućeno preciziranje položaja i oblika objekata u sceni
Gottfried Wilhelm Leibniz (1646 - 1716) i Issac Newton (1642 - 1727) koji su istovremeno postavili temelje diferencijalnom računu s čime je omogućeno strogo opisivanje dinamičkih sustava
James Joseph Sylvester (1814 - 1897) koji je osmislio matričnu notaciju, veoma korištenu u algoritmima računalne grafike
Tijekom 60-tih godina 20-tog stoljeća načinjeni su pionirski radovi u području računalne grafike koji su poslužili kao poticaj svim daljnim nastojanjima u istomenom području. Najvažniji od njih su:
Prvi računalno animirani film "Two-Gyro Gravity-Gradient Attitude Control System", Edward Zajak, Bell Labs) (1961).
Prvi programski jezik računalne animacije (MACS), Larry Breed, Stanford University (1961).
Prva videoigra (Spacewar), koju je razvio Steve Russell na MITu (1961).
Napisan program Sketchpad, od strane Ivana Sutherlanda, s MITa - prvi interaktivni program za crtanje (1963).
Načinjen prvi računalni model ljudskog tijela, William Fetter, Boeing, za dizajniranje kokpita zrakoplova (1964).
Što se misli pod naravnom računalnom predodžbom? Hall i Greenberg[1] kažu sljedeće:
"Naš cilj u realističnom slikotvorstvu je stvaranje slike koja pobuđuje u vizualnom sustavu podražaj koji ne bi bio raspoznatljiv od podražaja pobuđenog stvarnom okolinom."
Ovo je očigledno, veoma neskroman cilj. Stvaranje istovrsnog mentalnog doživljaja posredstvom sintetičke slike zahtijevalo bi priključenje stroj-čovjek sučelja u živčane puteve između oka i mozga, nešto što trenutno još uvijek nije izvedivo.
Iz praktičnih razloga, naše želje ipak moraju biti prizemnije od stvaranja neraspoznatljive umjetne percepcije stvarnosti. Ono što se danas može učiniti, je stvaranje 2 dimenzionalne slike ljudskom oku neraspoznatljive od one dobivene fotografskim aparatom. Ipak, ovakve slike su još uvijek očigledno "nestvarne" iz prostog razloga što su dvodimenzionalne. Daljan korak u cilju postvarenja tih slika postignut je stereoskopskim projekcijama koje pomoću efekta polarizacije uspijevaju stvoriti prividnu dubinu u inače 2 dimenzionalnom prikazu na način da se svakom oku prikazuju djelomično različite slike prilagođene odzivu našeg binokularnog vidnog sustava. No, ovaj pristup sa sobom nosi ergonomičnu neugodnost u tome što zahtjeva nošenje posebnih polarizacijskih naočala, koje su nerijetko sklone veoma brzo zamoriti korisnika i tako umanjiti njegov užitak u nestvarnoj okolini.
U novije vrijeme počeli su se pojavljivati i prvi komercijalni volumetrijski prikaznici koji osim što impresivno djeluju, obećavaju i još impresivnije mogućnosti u skoroj budućnosti.
Računalni model stvarnosti
Kao što je danas većini poznato, okoliš kakav mi doživljavamo posredstvom osjetila vida, odraz je kvalitete i kvantitete okolnog elektromagnetskog zračenja i refleksije tog zračenja na tvarima prisutnim u prirodi. Da bi njih predstavili na računalnom zaslonu potrebno je iznaći prikladan način modeliranja, odnosno opisivanja kako tvari, tako i svjetlosti. Ukratko, mogu se izdvojiti sljedeće sastavnice takvog modela:
Svjetlost i boja
Izvori svjetlosti
Oblici
Materijali
Sučelja (dioptri): Modeli refleksije i teksturiranja
Mediji: Modeli atmosferskog raspršenja
Kamere
Leća i film
Što se simulacije tiče, ona jednostavno predstavlja proces osvjetljavanja tako postavljene scene ravnan algoritmom globalnog osvjetljenja. Srž simulacije osvjetljenja predstavlja jednadžba globalnog osvjetljenja koja se može iskazati u sljedećem obliku:
Za zadanu scenu sačinjenu od zbira osnovnih geometrijskih oblika s raznovrsnim materijalnim svojstvima i proizvoljno mnogo izvora svjetlosti, izračunati osvjetljenje za svaku točku svake površine.
korisnička sučelja (većina aplikacija na osobnim računalima i na radnim stanicama imaju grafički sustav prozora putem kojeg komuniciraju s korisnicima. Primjeri takvih aplikacija uključuju obradbu teksta, stolno izdavaštvo, proračunske tablice...);
interaktivno crtanje (u poslovnim, znanstvenim i tehnološkim primjenama računalna grafika koristi se za prikazivanje funkcija, dijagrama, histograma i sličnih grafičkih prikaza sa svrhom jasnijeg sagledavanja složenih pojava i olakšanja procesa odlučivanja);
projektiranje pomoću računala (Computer Aided Design - CAD danas se standardno koristi za projektiranje sustava i komponenata u strojarstvu, elektrotehnici, elektronici, telekomunikacijama, računarstvu...);
simulacija i animacija (računalna grafika koristi se za znanstvenu i inženjersku vizualizaciju i zabavu; područja primjene obuhvaćaju prikaze apstraktnih matematičkih modela vremenski promjenljivih pojava, TV i filmsku tehnologiju...);
umjetnost (računalna grafika se koristi za kreiranje umjetničkih slika);
grafičko programiranje (računalna grafika se koristi za automatizaciju procesa programiranja virtualnih sustava npr. u instrumentaciji).
videoigre (jedan od glavnih elemenata igara je računalska grafika koja se koristi za prikaz virtualnih prostora )