570 likes | 692 Views
Áttekintés a számítógépi * grafika világáról. dr. Gy örgy Antal gyantal@gmail.com http:// people.inf.elte.hu /agy/. Tartalom. M it értünk CG-n ? A lkalmazások M odellezés A nimáció K épszintézis (rendering) U tómunka: pixel szintű effektek F ény, matematikai /fizikai modell
E N D
Áttekintés a számítógépi*grafika világáról dr. György Antal gyantal@gmail.com http://people.inf.elte.hu/agy/
Tartalom • Mit értünk CG-n? • Alkalmazások • Modellezés • Animáció • Képszintézis (rendering) • Utómunka: pixel szintű effektek • Fény, matematikai/fizikai modell • Illuminációs egyenlet
Számítógépes grafika Mire gondolunk? • Szoftverek, amelyekkel képeket készítünk • Eszközök, amelyekkel a képekkel kapcsolatba kerülünk (megtekintjük, használjuk) • A hardver, ami ezeket a képeket egyre gyorsabban kirajzolja • A megjelenítő eszköz, amelyek egyre nagyobbak, színesebbek • Az algoritmusok, amelyek egy fizikai jelenséget szimulálnak • Eszközök complex matematika adatok megjelenítésére • Szoftverek, amelyekkel 3D modelleket készítünk, mozgatunk • API-k, amelyekkel modelleket jelenítünk meg • Stb.
Számítógépes grafika Mit is jelent? • Megjelenítő eszközök • 1. Felhasználói felület tervezés • Ergonómia • 2. Térinformatika • 3. Számítógépes látás (computer vision) • képanalízis – képfeldolgozás – image processing • 4. Számítógépes grafika • 2D • 3D: képszintézis egy virtuális színtér alapján • tudományos vizualizáció
Megjelenítő hardver • Vektoros megjelenítők • 1963 – módosított oszcilloszkóp • 1974 – Evans and Sutherland Picture System • Raszteres megjelenítők • 1975 – Evans and Sutherland frame buffer • 1980s – olcsó frame bufferekbit-mapesCRT PC képernyők(CGA,EGA) • 1990s – liquid-crystal displays LCD, laptops • 2000s – micro-mirror projectors digital cinema, DLP: Digital Light Processing • Továbbá: • Stereo, head-mounted display • Shutter glasses • Autostereoscopic displays • Tactile, haptic, sound • Nyomtató
Ivan Sutherland (1963) - SKETCHPAD • pop-up menük • kényszer alapú rajzolás (constraint-based drawing) • hierarchia
2. Térinformatika • Geographical Information System - GIS • - földrajzi adatok elemzésére kidolgozott speciális információs rendszer • lépések sora vezet a méréstől, adatgyüjtéstől az elemzésekig • gyakori cél a földhasználat, szállítás, kereskedelem irányításával kapcsolatos döntéshozás,
3. Képfeldolgozás Eredeti kép Felismert objektumok
4. Computer Graphics (Interaktív)
4.2. A 3D képszintézis feladata • Egy virtuális világban egy virtuális kamera segítségével valósághű kép előállítása.
Tudományos vizualizáció • célja: tudományos feladatok, problémák, számítások megjelenítése és szimulációja A Föld mágneses erővonalainak megjelenítése Az 1995-ös oaklahomai vihartevékenység szimulációja
Fizikai szimulációk • Modellezük a természetet a fizika törvényeit követve • Általában, az egyetlen módja a valószerűség elérésének • Alternatív: nem-tudományos alapú sötét-mágia bevetése a valósághű effektek elérésére • A matematika nagyon gyorsan nagyon elbonyolódik Isn’t it incredible that nature can compute everything (you, me, and the whole universe) on the fly, it is the fastest computer ever. • Fontos problémák: szimuláció pontossága és stabilitása
Játékok Call of Duty: Modern Warfare 2
A grafikus szerelőszalag (pipeline) modellezés animáció rendering
Modellezés • poligonok • CSG, constructive solid geometry • parametrikusfelületek, NURBS • implicit felületek • felosztott felületek, subdivision surfaces • részecskerendszerek, particle systems • térfogati modellek, volumes
Animáció • Szkriptelt • Kulcskocka alapú (key-frame interpolation) • FK, IK, forward-inverse kinematics • Dynamics
Animációs módszer: keyframing • adott kulcskockákban (keyframe) meghatározzuk a színtér adatait (pozíció, geometria, szín stb.), • a többi képkockára pedig ezekből interpolálunk A kamera mozgáspályája és kulcskockái (modellező program: ArchiCAD)
Animációs módszer: motion capture • keyframinggel nagyon nehéz bonyolult, valós mozgásokat előállítani • ezért gyakran felveszik valódi emberek, élőlények, tárgyak mozgását és ezeket a virtuális világ mozgó objektumaira használják • általában apró „pöttyöket”, golyókat tesznek a valódi objektumra, amelyek mozgását kamerával követik
A hagyományos pipeline Az új pipeline? A grafikus szerelőszalag (pipeline) modellezés animáció rendering 3Dscannelés motioncapture image-based rendering
Modellezési primitívek: poligonok • legelterjedtebb módszer (pl. játékok, API-k stb.) • általában háromszögekkel dolgozunk • egyszerű velük modellezni • poligonokkal adott testet meshnek hívjuk • sima, szép felületek testek kialakítása csak rengeteg háromszöggel oldható meg • részletgazdagságot textúrákkal növelik
Modellezési primitívek: poligonok Half Life (1999) Half Life 2 (2004)
Modellezési primitívek: felületek • természetükből adódóan simák és görbültek • alakjuk kontroll pontokkal vagy kontroll görbékkel vezérelhető • bonyolult testeket nagyon nehéz velük modellezni, de komolyabb projektnél (pl. filmek) inkább ezeket alkalmazzák • jellemző felülettípusok: Beziér-patch, NURBS • részletesebben: Vida János – Geometria modellezés
Modellezési primitívek: felületek NURBS felületekkel adott fej (modellező program: Maya)
Modellezési primitívek: pontok • részecske rendszerek • rengeteg részecskét igényelnek • általában procedurálisan irányítják őket • ÚJ TREND: • 3D-s scannerek ponthalmazt adnak • ebből sok lépéssel generálható mesh vagy NURBS felület • használjuk inkább egyből a ponthalmazt!
Modellezési primitívek: pontok Ponthalmazból renderelt helikopter Procedurális füst
Textúrák • Hatékonyan növelik a felület részletezettségét • Multi-színezés (több szín egy felületen) (pl. –üveg címke), bumpy, tükröződés is lehetséges
Fotorealisztikus rendering • célja: a virtuális világról olyan képet kapni, mintha egy valóban létező színtérről készítettünk volna fényképet
Fotorealisztikus rendering Találjuk ki: melyik a valós, melyik a szintetikus? szintetizált fényképezett
Nem-fotorealisztikus rendering • Céljai: • stílirizált ábra kiemeli a lényeges részeket • művészi hatások elérése • Kezdetben a „firkálások” valószerű megjelenítésére törekedtek (pen-and-ink) • Azóta már külön területté nőtte ki magát: • különböző ecsetek és festőanyagok kezelése: pl. víz- és olajfestékkel való festés
Volume rendering • Célja: az orvosi diagnózis, kutatási feladatok segítése • Legfőbb probléma a rengeteg poligon valósidejű mozgatása, forgatása
Izgalmas alkalmazási területek • Karakter animáció: • csontozat modellezése • bőr generálása • izmok mozgatása • Ruha animáció: • ruha modellezése • fizikai alapú részecske szimuláció • a feladat nehézsége: bonyolult az ütközésvizsgálat • Haj, szőr stb. szimulációja • haj, szőr stb. modellezése is nehéz • igen nehéz feladat: valószerű szimuláció
Pixel szintű effektek • A valószerűnek szánt képek még nem eléggé valószerűek, ezért a „tökéletes” képeket lerontjuk tipikus fényképezési hibákkal (pl. lencse csillanás, depth of field, motion blur) • Az effektek nemcsak valóságosabbá teszik a kész képet, de általuk „művészibbé” is válik • Jellemzően post-processz kompoziciós lépés, így nem kell a teljes renderinget újraindítani indítani ha egy effekt hatása nem tetszik...
Pixel szintű effektek Depth of field Lencse csillanás
A képszintézis feladata (ismét) • Egy virtuális világban egy virtuális kamera segítségével valósághű kép előállítása.
A képszintézis feladata • A valós világéval megegyező hatású képi inger előállításához ki kell számolni, hogy: • a monitor pixeleinek megfelelő térszögből milyen spektrális eloszlás és • spektrumonként mekkora fényintenzitás (radiancia) érkezik a szemébe • Tehát azonosítani kell: • a pixelben látható felületi pontokat és (geometria feladat, sugárkövetés) • azok szem irányú radianciáját (integrálegyenlet megoldása) • A sugársűrűséget egy pontban, egy adott hullámhosszon az árnyalási egyenlet megoldásával lehet meghatározni.
Az árnyalási egyenlet • Egy felület adott pontjában a radiancia (fényintenzitás) a következőkből áll: • a saját emisszióból és • a többi felület sugárzásának visszaverődéséből • Az árnyalási egyenlet ezt írja le (hullámhosszonként!!!): L (x, w)=Le (x, w)+ L (h (x, -w’), w’) fr (’, x, ) cos’dw’