Vývoj a směřování počítačové grafiky v posledních (45 ?) letech J.Sochor Brrr….. no ….
První interaktivní grafický systém Ivan Sutherland, Sketchpad, 1964 Video sketchpad-excerpt3.wmv
Matka všech prezentací 1968 - 9. prosince. Myš je poprvé představena na veřejnosti. Během události, která je často označována jako „Matka všech prezentací", představil Engelbart a jeho 17 kolegů ze SRI 90 minutovou demonstraci pro veřejnost na konferenci Fall Joint Computer Conference v San Franciscu. Kromě myši tento tým dále představil hypertext, objektové adresování, dynamické propojování souborů a spolupráci dvou lidí přes sdílenou obrazovku, kteří komunikovali slovem i obrazem přes síť. http://sloan.stanford.edu/mousesite/1968Demo.ht ml
Cornell In Perspective Animace ukazující Johnson Art Museum, v kampusu Cornell University. Video sestavené v roce 1971, PŘED postavením budovy. Donal P.Greenberg – Computer Graphics Program
Nové oblasti počítačové grafiky advanced lightning subdivision surfaces point based graphics volume rendering collisions haptics (GPU & parallel graphics)
Budiž světlo …
Zobrazovací rovnice (VTIGRE) „vacuum, time-invariant, gray radiance equation” L i (x, w ) N L o (x, w ) d w i q i L e (x, w o ) x vlastní vyzařování
Rozšířený fyzikální model pro opticky hustá prostředí
Cesty šíření světla L E LE LDE LDSE D S LD 3 SE
Klasická zobrazovací metoda (1972) stínování s odlesky a vrženými stíny (např. Phongův model): L(D|S)E – jen přímé osvětlení, často se ignoruje výpočet vržených stínů S S D L E
Klasická zobrazovací metoda
Sledování paprsku (1980)
Distribuované sledování paprsku (1984)
Radiozitní metoda (1984)
Jednoduchá dvoukroková metoda (1985)
Fotonové mapy (global, caustics) Jensen, 1994 D S D L E S
Zrcadlové a transparentní …
Rekurzivně dělené povrchy zobecnění B-spline povrchů generují hladké objekty z libovolných řídících sítí v pravidelné části sítě shodné s B-spline povrchem Co je rekurzivní dělení ? postupné zjemňování řídící sítě přidáváním nových bodů, hran a stěn (dělením původních) výsledkem je aproximující hladký (limitní) povrch
Dělené povrchy Datově nenáročné řídící sítě bodů, hran, stěn (a objemů) Rekurzivní aplikací dělicích pravidel vytvářeny „dostatečně“ hladké křivky, pláty, tělesa GPU friendly ! Příklad: Geri‘s Game
Ukázky experimentů s pravidly modifikace pravidel
Porovnání několika schémat
Aplikace Loop dělení pro vizualizaci Credits: F.Andres, B.Kozlíková,
Modelování pomocí deformací
Volné deformace Thomas W. Sederberg, Scott R. Parry: Free Form Deformation (FFD), 1986 Aplikace: animace, modelování, zpracování obrazu (Maya, 3D max, Softimage)
FFD - Cracken&Joy - ukázky
Sweep-based Freeform Deformation
Sweep-based Freeform Deformation
Implicitní povrchy f = 0 Reálná funkce f (x,y,z) f < 0 klasifikuje body v prostoru syntéza obrazu (někdy) uvnitř f > 0 vně f < 0 na povrchu f = 0 CAGD: uvnitř f < 0, vně f > 0 f < 0 f > 0 f = 0 f > 0 f < 0
Distanční povrchy koule: d(x, bod) – r cylindr: d(x, přímka) – r sfylindr: d(x, úsečka) – r torus: d(x, kružnice) – r obecný cylindr: d(x, křivka) – r ofsetový povrch: d(x, povrch) – r d(x,A) = min {||x-y|| : y A
Bloby (kapky)
Složitější řídící struktury např. kostra z úseček a výpočetně jednodušší potenciálové funkce ...
Kolize Než se stádo podařilo zaměstnancům sehnat dohromady, stačil býček vběhnout do jízdní dráhy čtyřiačtyřicetiletému řidiči Seatu Ibiza. Při srážce byl šofér lehce zraněn a rychlá záchranná služba jej převezla do písecké nemocnice. Na autě vznikla škoda za 40 000 korun. Býk se zachoval jako nezodpovědný účastník silničního provozu a z místa nehody utekl. Později byl spolu s celým stádem sehnán dohromady a údajně nebyl nijak vážně zraněn.
Dotazy na geometrickou blízkost Otázky pro dvojici objektů: Protínají se mezi sebou během pohybu? Pokud se neprotínají, jak jsou od sebe daleko ? Pokud se protínají, jaká je hloubka penetrace ?
Příklady použití kolize v praxi Virtuální realita Simulátory Počítačové hry Průmysl Konstrukce Vědecké simulace
Hierarchie obalových těles každý uzel obsahuje jeden objem, který omezuje množinu trojúhelníků potomci obsahují objemy, které ohraničují odlišné části (skupiny) trojúhelníků daného rodiče Listy hierarchie obvykle obsahují individuální trojúhelníky (často však seznam trojúhelníků) Binární hierarchie obalů:
Hierarchie obalových těles
Přímá vizualizace objem. dat
Model rozptylu světla L R t t1 (x,y,z) t2 osvětlení hustota odrazová funkce paprsek R prochází prostorem skalární funkce proměnných x,y,z
Klasifikace originální datová množina obsahuje hodnoty, které jsou specifické pro danou aplikační oblast (teplota, rychlost, hustota protonů, atd.) datům musíme přiřadit barvy/průhlednosti, které dají datům určitý význam řeší se pomocí přenosových funkcí
a f Přenosové funkce RGB Stínování, kompozice… a(f) RGB(f) Jednoduchý (obvyklý) případ: Mapování datové hodnoty f na barvu a průhlednost f Stínování, kompozice… lidský zub CT
Přenosové funkce - výzvy Dokonalejší rozhraní: méně matoucí prostor přenosových funkcí odstranění nadměrné “flexibility” poskytnutí průvodce Automatické / poloautomatické generování přenosové funkce obvykle zvýrazní hranice Gordon Kindlmann
A co obyčejné fotografie ?
Hloubka a maska pomocí barevného filtru
Animace na základě jediného snímku
Vykreslování založené na obrazech
Jak vykreslit toto ?
Tradiční grafika
Počítačové vidění
Kombinace vidění a grafiky
Avšak ... Vidění selhává
Avšak ... … a stejně tak i grafika
Vykreslování založené na obrazech
Point-based rendering Objekty reprezentované pomocí bodů bez konektivity Bod (surfel) Pozice, normála, radius, materiál Vykreslování = rekonstrukce povrchu v prostoru obrazovky Efektivní pro velmi složité objekty x y z
Principal Component Analysis
A co hardware ? V r.1980 publikoval prof. Jim Clark návrh obvodu Geometry Engine (transformace a ořezávání) Nesklidil velký úspěch, … A tak založil SGI A pak už to šlo ráz naráz …
Dělení objektového prostoru procesor objektu procesor objektu procesor objektu obrazová paměť
Dělení obrazového prostoru procesor oblasti 1 procesor oblasti 2 procesor oblasti n obrazová paměť
Architektura 8x8 (Clark & Hanah) objekty transform. ořezáv. řídící blok blok procesor procesor procesor sloupce sloupce procesor procesor paměť paměť řádky řádky procesor procesor paměť paměť řádky řádky videosignál
SGI SuperWorkstation řádkový konverzní subsystém rastrový subsystém geometrický grafická primitiva, příkazy procesor procesor řádkový polygonů konverzní subsystém výpočet sklonu X Y Z R G B A hranový procesor SC SC úsekový procesor SP SP SP SP SP rastrový obrazový procesor subsystém obrazová paměť řadič zobrazovací obrazové paměti subsystém videosignál
Vývoj po roce 1990 Vysoký výkon během rasterizace - kompozice obrazu G
Vývoj po roce 1990 Vysoký výkon během rasterizace - dělení obrazovky G
Silová zpětná vazba: Má to něco společného s grafikou ?
PHANToM 1.0
3DOF Haptika: princip Zjisti, zda bod proniká do objektu. Nalezni nejbližší bod na povrchu Vypočti reaktivní sílu x F F=k.x
Smyčka silové zpětné vazby
Smyčka silové zpětné vazby
1000 Hz požadavek na výkon • uživatel je součástí simulační smyčky • 1000 Hz je nezbytná frekvence, aby nedošlo k nežádoucím oscilacím • Důsledek: jsme velmi omezeni v tom, jaké množství výpočtů ve smyčce stihneme provést Video:
Propojení vizuálního a dotykového prostoru fyzický prostor Virtuální prostor
... A využití haptiky Fyzický prostor Virtuální prostor
Reachin Display
Point Based Haptics Haptic1.avi
VRECKO a HCI Laboratory …