Računarska grafika (engleski: computer graphics, CG) jest polje vizuelnog računarstva gdje se pomoću računara stvara slika.[1] Ta slika može biti iz stvarnog svijeta koja se pomoću računara uređuje i mijenja. Također, značajno je zastupljena u filmskoj industriji za stvaranja raznih efekata, animacija i ostalih manipulacija nad pokretnim slikama (film). Prvi glavni iskorak u računarskoj grafici napravio je Ivan Sutherland 1962. godine koji je bio zaslužan za izum Sketchpad-a.
Računarska grafika se može podijeliti u nekoliko polja: real time 3D izvođenje (render) slike (koristi se u računarskim igrama), računarska animacija, hvatanje (capture) i stvaranja videa, stvaranje specijalnih efekata, potpuno ili djelomično računarski stvorenih filmova, obrada slike i modeliranje (koristi se u medicinske svrhe, kao i u arhitekturi).
Film 2001: A Space Odyssey obično se spominje kao prvi koji je koristio računarsku grafiku, iako je pokušao da prikaže računar kao moćan alat za stvaranje specijalnih efekata to nije uspio, jer je većina specijalnih efekata u tom filmu napravljena običnim optičkim efektima. Vjerovatno prvi film koji je koristio računarsku grafiku je bio Futureworld (1976)[2] u kojem se mogla vidjeti ljudska ruka i lice koju su pomoću računara stvorili Ed Catmull i Fred Parke na Univerzitetu Utah.
Najznačajniji pomak u računarskoj grafici je bilo predstavljanje katodne cijevi (na kojoj se danas temelji većina monitora). Imamo dva pristupa u 2D grafici: vektorska i rasterska grafika. Vektorska grafika sadrži tačne geometrijske podatke, topologiju, koordinatne pozicije tačaka, veze između tačaka (za formiranje linija i putanja), boju i tako dalje.[3] Vektorska grafika koristi jednostavne oblike kao što su krugovi i pravougaonik i ostali. Vektorska grafika se ne može pregledati pomoću nekog vanjskog programa (kao što je internet pretraživač), vektorsku grafiku prepoznaje program pomoću kojeg je ta grafika nastala iako je čest slučaj da različiti programi za vektorsku grafiku bez poteškoća mogu čitati druge formate (Freehand može pročitati .cdr (Corel Draw) datoteku). Zato se vektorska grafika pretvara u rastersku (.jpg, .bmp itd.). Rasterska grafika je stalna dvo dimenzijonalna mreža piksela.[4] Svaki piksel ima svoju vrijednost, kao što je svjetlina, boja, providnost ili spoj sličnih vrijednosti. Rasterska ima konačnu rezoluciju i ako se ona poveća najčešće gubi kvalitet, to nije slučaj sa vektorskom (jer ima tačne podatke o geometriji i tako dalje). Također imamo formate koji uključuju i rastersku i vektorsku grafiku (.pdf, .swf).
Predstavljanjem veoma jakih računara (radna stanica, kao što je LISP mašina ili Silicion Graphics radna stanica) došla je i 3D računarska grafika, temeljena na vektorskoj grafici. Princip je skoro isti, umjesto pohranjivanja podataka o tačkama, linijama i krivim u dvodimenzionalnom prostoru, računar ih sprema u trodimenzionalnom prostoru. Trodimenzionalni poligoni su suština 3D računarske grafike. 3D računarska grafika se temelji na pohranjivanju tačaka, linija koje spajaju tačke, i strana između linija što reda 3D poligone. To su bili počeci, danas osim pohranjivanja 3D poligona u memoriju, grafički softver može izvršavati i mnogo komplikovanije stvari kao što su sjenčenje, teksturiranje i rasterizacija koji daju osjećaj stvarnosti nekom računarski napravljenom objektu.
Postupak sjenčenja je računanje ili simuliranje kako će poligon izgledati kada na njega pada nestvarna (računarski stvorena, virtuelna) svjetlost. Svjetlost nije jedini faktor, bitan je i način sjenčenja nekog poligona. Sjenčenja omogućava puno realniji prikaz 3D slike, posebno se koristi u računarskim igrama i CGI filmovima.
Tekstura je slika koja se "lijepi" na 3D poligone. Osim boja, moguće je stavljati slike za realniji prikaz nečega. Teksture dodaju dozu stvarnosti u 3D poligone.
Programi koji se oslanjaju na računarsku grafiku: