Nechci prudit, ale s VRML jsem si hrál někdy v roce 2000 a od té doby mám pocit, že to čím dál víc umírá. Tehdy byly nějaké podpory v prohlížeči a teď po tom neštěkne ani pes, nebo se pletu?
To se nepleteš, textový formát pro ukládná modelů ? má autor představu kolik mají dnes modely vrcholů ? O "rychlosti" interpretů a renderů VRML raději nemluvit. Tohle je jenom hračka.
Jde o to, na co se VRML pouzije. Samozrejme i na modely ziskane skenovanim (to je vlastne ten nejhorsi format, bez vyhlazeni povrchu apod.) jde VRML pouzit (a pouziva se - viz ona zminovana Minolta Vivid).
Mate predstavu, jak se zmeni velikost souboru s 3D ploskami pri ulozeni do binarniho formatu? Kupodivu ten rozdil neni nijak velky, cca 20-30%, ovsem musi se pouzit ty spravne VRML tagy.
Mimochodem - objevila se tady zminka o X3D. Ten je pro jistotu zalozeny na XML, takze taky tvori pekne bumbrlicky.
20-30% ? leda tak když budu zapisovat "nepřesně" pomocí dvou číslic nějaké krabice ale co složitější detailnější model kde je v souřadnicích vertexu nezbytně hodně numer (detailní struktury) ? už i ta pohybová souřadni jich má hafo - "0.053033 0.000000 0.053033," - hned osm znaků, tomu říkám humáč. Ale to by se dalo, HDD jsou velký internet rychlej ale ty aplikace v kterých se tohle používá... blé. To už je lepší si napsat vlastní engine a render a firmy to taky dělají, třeba v Javě, pomalost plus mínus stejná (i s odleskama a global illumination !) ale funguje to alespoň všude.
Osm znaku je snad v pohode. Nebo snad double ma min nez osm bytu :-) (a pri pouziti fixed pointu bych taky neriskoval pouze 4 bytu, ale aspon sest). Nehlede na to, ze 0.000000 snad rozumny program nemusi zapisovat ne? Stejne tak ten prvni bych zapsal .053033.
Jde spis o to, ze se souradnice vertexu daji napsat do jedne struktury a spojnice vertexu (trojuhelniky) do druhe struktury. Ty spojnice jsou celkem kratke - pri 1000 vertexech pouze ctyri byty. V porovnani s nekterymi binarnimi formaty, ktere zapisuji kazdy trojuhelnik zvlast, je VRML dokonce uspornejsi (ale to uz jsme nekde jinde, uznavam).
Je jasne, ze vstupne-vystupni rutiny jsou u textoveho formatu mnohem pomalejsi, nez nacitani binarky - o tom neni sporu.
Většina formátů ukládá stripovaně bo už to tak dostanou z modeleru. Unwrap na samostatné trojúhelníky ? proč proboha ? které prasecké formáty to takto dělají ? VRML... ;-)
Jednak je pomalé načítání ale o to zas tak nejde to se udělá jednou, jde o rendering v realtime, v době kdy byl VRML aktuální jsem neviděl render který by nebyl pomalý jak prase... a dneska už tenhle formát nikoho nezajímá, každý průměrný student si nadefinuje lepší proprietální i s napsáním enginu a renderu nebo si napíše importní modul třeba pro formát 3DMAX Studia, blenderu nebo čehokoliv...
Rendering v realtime - pravda, v dobe, kdy VRML vznikl moc 3D aplikaci v realtime stejne nebezelo :-) Snad krome Descenta, ale i ten mel tusim portaly predpocitane a ne generovane az po nacteni modelu. A i ten Descent by mel problemy se skutecnymi 3D objekty (zadne sprity), ale to je uz na jinou diskusi.
Otazka je, jestli struktura formatu ovlivnuje rychlost renderingu - jak proboha? Stejne si to kazdy engine nacpe do sve vlastni datove struktury a potom si treba (kdyz se uz bavime o realtime) vypocita occludery, portaly, hierarchicke mrizky, BSP nebo neco podobneho. No a kdyz to neni realtime aplikace ale hi-end renderer, tak si opet tu scenu vezme, vytvori neco na zpusob stromu objektu+BSP a zase renderuje - proste ten vstupni format na front-end renderovaciho engine nema zadny podstatny vliv.
Teda nepocitam SGI, ale VRML je v tomto ohledu podobny OpenInventoru, takze na SGI to problem nebyl (narozdil od PCcek, ktere v dobe rozsirovani VRML taktak utahly Windows, natozpak nejakou 3D aplikaci). Pravda je ta, ze prohlizecu VRML se okolo roku 1995-1998 vyhrnulo spousta a byly dost primitivni.
Mozna se kazdy bavime o trosku jinem tematu. VRML jiste neni dokonaly, ale alespon EXISTUJE a je rozsireny (staci se podivat, co ktere programy nabizi za import a export). Ten skvely format, ktery prumerny student vytvori, az tak skvely nebude, protoze se s dosti velkou pravdepodobnosti pouzije prave v jednom jedinem projektu, ktery nakonec odevzda jako semestralni projekt nebo diplomku. Pak - konec. I kdyz (ponevadz jsem grafiku na VS par let ucil) az tak nemam iluze, ze se mu podari napsat format lepsi nez VRML napriklad ohledne aktivnich objektu, hierarchickeho modelu sceny, ale to uz je jina vec.
Naproti tomu v prumyslu si tezko vytvorite vlastni skvely format, vetsinou byva mnohem lepsi pouzit nejaky stavajici (i kdyz to bude treba DXF, ktere je na 3D mizerne). To je prave duvod velkeho rozsireni formatu zalozenych na XML - je to silene slozite na zpracovani i objem dat, ale vysledkem je format (idealne s DTD), ktery ma sanci na kooperaci mezi ruznymi aplikacemi a taky na moralni preziti minimalne nekolik let. Jako programator jsem se samozrejme priklanel k variante navrhnout "co nejlepsi" vlastni format, ale praxe je opravdu trosku jina (pokud tedy nepracujete pro monopol, ten si vlastni formaty muze dovolit prosadit :-)))
Mam dojem, ze prave tak X3D vzniklo - nekdo potreboval VRML zapsat XML syntaxi, tak se vyvinul novy format. Docela to chapu, protoze nastroji na zpracovani XML je dneska opravdu hafo. V dobe vzniku VRML jeste SGML-like jazyky nebyly tak rozsirene (krome HTML, samozrejme), tak se zvolil C-ckovy zapis, ktery uz predtim pouzival zminovany OpenInventor.
To je problem vice formatu nepropagovanych silnou firmou (SGI uz mezi velke hrace nepatri), ovsem zrovna pro VRML toho existuje docela dost, http://cic.nist.gov/vrml/vbdetect.html