Diit.cz - Novinky a informace o hardware, software a internetu

Diskuse k Euclideon: Revoluce ve 3D grafice?

No, ještě mi tam neštymuje jedna věc – že je tam jen pár naprosto stejných objektů, které jsou tisíckrát naklonované (obdobně jako v úvodu ukázky) a ve výsledku to vypadá jako Minecraft ve vyšším rozlišení.
Ale jinak celkem dává smysl, že když se s meshem jde na úroveň polygonů o velikosti několika pixelů, přestává polygonová síť už tak nějak dávat smysl a voxely vypadají rozumněji.
Ale kdy to bude použitelné... S nostalgií vzpomínám na "vizionáře", kteří viděli demo na Cinema 2.0 s Ruby a těšili se, jak máme na Radeonech
za dva, tři roky ve hrách fotorealistickou grafiku

+1
+1
-1
Je komentář přínosný?

Asi největší problém vidím ve fyzice, jakmile se něco takového má rozumně a realisticky rozhýbat (např. kopnu do země a vyletí hrstka štěrku) tak najednou je to se složitostí poněkud jinde :)

+1
-1
-1
Je komentář přínosný?

Tohle chce podporu v HW jinak se to nehne, i na polygony to bylo potřeba (různé pixel/vertex shadery) aby se to trochu hejbalo...

+1
0
-1
Je komentář přínosný?

Proč by to mělo být složitější, než polygony? Co se tak dívám, tak se stejně skoro všude používají pro tyto účely sprosté sprity, ty se dají dodat do jakéhokoli enginu. U animací (třeba postav) taky nevidím proti polygonům principiální zesložitění, ale je fakt, že to je podstatná část enginu, kterou očividně ještě nemají.

+1
0
-1
Je komentář přínosný?

Animace je problém viz diskuze na zive.cz, odkaz níže.

+1
0
-1
Je komentář přínosný?

ono to má své opodstatnění, vemte si kdyby opravdu udělali tak obrovský ostrov jak říkali a udělali by rozmanitý jako normální ostrov. Kolik by pak zabírala data tohoto ostrovu? Asi hoši dobře vědí proč to sestavují ze stejných kusů a stejnými stromy

+1
0
-1
Je komentář přínosný?

Tak to bych chtěl vidět stejně rozmanitý ostrov udělaný v polygonech...to by byl ještě větší porod. Jenom vyrobit textury a namapovat je...opakování objektů je běžné i s polygonama tak nevím proč u nějakého dema je to najednou špatně.

+1
-1
-1
Je komentář přínosný?

I když budou hry od začátku přizpůsobeny masivní teselaci nikdy nebudou stejně kvalitní jako voxely a to z toho důvodu že se teselace aplikuje pouze na hotové polygony. Jako krásný příklad poslouží protnutí stromu se zemí.Kromě toho všichni víme kolik výkonu vzhledem k výsledku sežere.Bump-mapping je zde právě z toho důvodu že větší počet polygonu ve scéně rapidně snižuje výkon.Co se týče ovladačů, nástrojů i samotného API je zde samozřejmě velký problém s kompatibilitou.Ovšem největší problém této technologie spočívá v animacích a samotné fyzice.K uvedení do pohybu jediného objektu (postavy) je zapotřebí opravdu silné grafické karty. Nicméně jako příklad uvádím engin kterému zdá se pohyb byť jen v malém měřítku problém nedělá.http://www.atomontage.com/ .Ať už chceme nebo ne, voxely jsou budoucnosti počítačové grafiky a to z toho důvodu že jsou přirozenější, usnadňují práci vývojářům (jeden LOD model, realistická fyzika materiálů,atd..) a v neposlední řadě působí mnohem věrněji.

+1
0
-1
Je komentář přínosný?

Nejsem grafik, ale není jediný LOD model i při využití teselace?

+1
0
-1
Je komentář přínosný?

Nemyslím. Teselace není všmocná. je to už spíše to finální vyhlazení a zvýšení drobných detailů pro velmi krátké vzdálenosti, ale stejně budeš potřebovat více LOD modelů, aby jsi na desítky či stovky metrů nemusel vykreslovat tak velké množství polygonů (byť základní model s vypnutou teselací).

+1
0
-1
Je komentář přínosný?

Ano je, ovšem zatím se tento způsob nepoužívá

+1
0
-1
Je komentář přínosný?

Na umrtvování se pracovalo před více než 13 lety. Ani spoluvytvoření nového API nezachránilo Silicon Graphics (OpenGL) o 11 let později od bankrotu.

Doporučuji přečíst:

http://en.wikipedia.org/wiki/Comparison_of_Direct3D_and_OpenGL

A ještě jeden odkaz (aneb domyslete firmu, která nemůže z bezpečnostních důvodů implemetovat webGL do svého prohlížeče a chybí tam, nápovědou je xbox):

http://en.wikipedia.org/wiki/Khronos_Group

K článku: Také bych jako Orten tuto technologii předem neschazoval. Navíc v době vícejader. Čas ukáže co bylo jen chvástání se. Co tam nepadlo je závislost na OS.

+1
0
-1
Je komentář přínosný?

Vcera som to objavil, myslim ze to vcera vyslo :)) treba to sledovat :)

+1
0
-1
Je komentář přínosný?

Ono to ma totiz daleko prozaictejsi duvod. Nelze zamenovat dva rozdilne fyzikalni popisy v nasem pripade nelze zamenovat popis zalozeny na mechanice za kinematicky model/teorii. Nelze infinitezimalni veliciny zamenit za molekuly (castice). Vektorove operatory (div grad rot nabla laplace ...) nelze pouzit na bodove objekty. Predpokladam, ze jejich casticovy model netvori vektorove pole.

+1
0
-1
Je komentář přínosný?

čeho litr ?

+1
+1
-1
Je komentář přínosný?
+1
0
-1
Je komentář přínosný?

Voxelová grafika i jejich akcelerátory se používají. Například v lékařství, data z tomografů jsou prostorová, nikoliv povrchová.

U herních systémů je ta potíž, že se všechno postavilo na vykreslení jednoho trojúhelníku. To jde rychle. Jen těch trojúhelníků nemí být moc.

Toto se obcházelo (ano obcházelo), texturami, které dělaly dojem, že to není plocha. Na stínech a bočních pohledech to ale vidět jde. To se obcházelo ješte jinak.

Takže, celá ta věž stojí na chatrném základu (malém množství trojúhelníků) a nad tím se staví domeček z karet, který mnoho věcí neumožňuje (například raytracing).

Udělat z trojúhelníků dokonalou kouli nelze. Přitom koule je zrovna matematicky jeden z nejjednodušších útvarů. Takový PovRAY raytracer nestaví na trouhelnících, ale na matematickém popisu objeků. To, co z toho leze jsou přesné geometrické útvary, které jsou snadno animovat. Bohužel máme akcelerátory trojúhelníků, nemáme akcelerátory paprsků.

+1
-1
-1
Je komentář přínosný?

nejde o nic noveho pod sluncem, Voxelovych engine je spousta,
tenhle se jen snazi o 'tezky' PR pres hype ...

osobne vim o minimalne jednom jinem ktery povazuji za podstatne vyspelejsi pro adaptaci ve hrach ...

+1
0
-1
Je komentář přínosný?

Myslíš ten Atomontage, o kterém píše Orten?

+1
0
-1
Je komentář přínosný?

http://notch.tumblr.com/post/8386977075/its-a-scam
http://notch.tumblr.com/post/8423008802/but-notch-its-not-a-scam

a ano, Atomontage znam jiz nejakou dobu a rozhodne bych po nem sahnul driv v ramci voxelovych engine

+1
0
-1
Je komentář přínosný?

Pokud by se to dalo skloubit s klasickým polygonálním renderováním a využít například pro statické objekty, tak by to nemuselo být špatné. Pro fyzikální engine by se kolem toho hodil low-poly model (na kolize), jako se to dělá dneska.

Akorát vidím problém s nasvícením, určitě by se osvětlení (ať už globální nebo lokální) na tomhle objektu projevilo jinak, než na ostatních poly objektech takže by to vypadalo nesourodě.

Celkem by mě zajímaly algoritmy jakými to kreslí...jo a taky stroj na kterém to běželo (jestli je to normální PC nebo nějaká farma)

+1
0
-1
Je komentář přínosný?

Kolize jsou úplně v pohodě viz odkaz na živě výše...

+1
0
-1
Je komentář přínosný?

Což o to, vykreslit by to šlo. Pokud by to byly skutečné pixely, tak po transformaci máš jejich x a y souradnice pro obraz. Ty nejbližší stačí vykreslit. U polygonu se postupuje stějně, body ohraničují trojuhelník. V tom problém nebude.

Mě by spíše zajímalo na čem dělají ty transformace. Těch bodů je tam skutečně hodně a i když se vykresluje jen pár px (1.5Mpx), tak je stejně nutné otransformovat pár miliard(?) bodů.

Asi to mají v nějakých skupinách, které podléhají transformaci jako celek a pak se podle viditelnosti dotransformují jednotlivé px.

V každém případě, mě to uchvátilo. Konečně se taky něco děje.

+1
0
-1
Je komentář přínosný?

Hezké, polygony to nenahradí, ale nevidím důvod, proč by to nemohlo existovat společně. Ne všechny hry musí být nutně "skutečně 3D". Leckteré výtvarné zpracování 3D grafiky naopak bude vypadat mnohem lépe ve Voxelech a fyziky netřeba. Záleží na žánru hry atd...

Už na osmibitech se používaly všelijaké triky, jak vylepšit dojem ze hry na slabém hardwaru. Přijde mi, že se to postupně vytratilo pod tlakem metody "umíme 3D grafiku, tak tím budeme dělat všechno". Přitom třeba spritové Age Of Empires II vypadaly mnohem lépe, než bezprostředně následující Age Of Mythology používající polygony. Podobně prastaré Theme Hospital od Bullfrogu působilo příjemněji než následovníci typu Hospital Tycoon ...

Tím chci říct, že není důležité jestli je nějaká technologie lepší, nebo superúžasná ..., mnohem důležitější je správná volba pro konkrétní účel. A teprve kombinace vzhledu, zvuku, hratelnosti a chytrého nápadu dělá dobrou hru. Jedno bez druhého nejde.

+1
+1
-1
Je komentář přínosný?

Neni to nic novýho. Reálny komerční použití, až na to bude HW. Tak za 20 let. Není problem, vytvořit jednu strukturu. Ale stovky nebo 1000 ce. To už zabere nějaký data. A další věc je fyzika. Tzn demo pekny, ale zatim nevyuzitelny.

+1
0
-1
Je komentář přínosný?

Tohle vypadá na obdobu raytracingu (jinak by to hafo "čehosi" nedokázali v rozumném čase zobrazit). A u toho je hlavně problém s pohybem (animací). Takže až budou umět animaci, pak ať ukazujou videa :D

+1
0
-1
Je komentář přínosný?

Vypada to na obdobu raytracingu? Dovolim si drzou otazku > V cem ?!?!

A jelikoz by to mohla byt obdoba raytracingu - tak to najednou jsou schopni zobrazit v rozumnem case? No, to je taky odvazny odhad. :-D

+1
+1
-1
Je komentář přínosný?

V rychlosti jsem procetl mnohe komentare a obcas musim souhlasit a obcas mam pocit, ze nektere hlavni myslenky zustaly nedotceny.

Zkraje bych se rad dostal k te fyzice a castecne i k animaci. Predstava, ze po zruseni polygonu musim mit problem s pocitani fyziky, je v zakladu docela spatna. Ac co vyvojar to ruzna implementace, fyzikalni model mnohdy neni to same co graficky model. Ackoliv se obcas vyvojari uchyli k generovani fyzikalniho modelu z "grafickych" modelu pri behu hry, casto se presto jedna o samostatne vymodelovane objekty urcene jen a jen pro fyziku - at uz je treba predgeneroval nejaky editor z "grafickych" dat. Vypocet fyziky pak ma dve casti a zde je zejmena relevantni "detekce kolize", kterou povazuji za narocnejsi. Shodou okolnosti se vsak velka cast teto detekce dela pomoci objemu (sem se slovo voxel nehodi). Nejidealnejsi je pak detekce pruniku dvou kouli/sphere. Takze teoreticky je problem s voxelovymi daty? NE. Pac se daji chapat jako model poskladany z objemu. V realu pak model pro detekci kolize obsahuje nekolik urovni/detailu objemu, tak aby se testovali pruniky jen "hrube" a teprve po zjisteni kolize se dopocital presnejsi bod kolize z "jemnejsich" dat -> coz ale porad nijak zvlast nehranici s tim co bylo v prezentaci ukazano.
Druha cast fyzikalnich simulaci pak abstrahuje na teziste - proste bod o nejake hmotnosti a par vektoru k tomu. Tam uz je nejaky tvar vlastne docela irelevantni.

Animace jsou trosku slozitejsi, aktualne se s oblibou model vybavi kostrou a jednotlivym vrcholum/vertexum se rekne, jak moc/jakou vahou se maji ridit posunem nejake kosti v kostre - to umoznuje ruzne natahovani a smrstovani a vubec nejakou pruznost "hmoty" kolem kostry. Ale proc by neslo toto rict taky "atomum" (voxelum jestli chcete). Ale souhlasim s tim, ze mnoho algoritmu jiz napsanych proste zatim pocita s polygony a problem je ciste v tom, ze da jedndoduse praci vsechno prepsat - verim, ze by to nemuselo byt v tomto pripade nejako brutalne slozite.

Kde vidim problemy? No jednoznacne mnozstvi dat! A jednoznacne vyber pixelu. Ono propocitat co ma byt videt a co ne, je docela zajimavy a slozity problem, na ktery se stale hledaji nove a nove postupy. Nedokazu si aktualne predstavit jak vybiraji z pohledu na miliardy atomu, co ma byt a co nema byt videt. Ostatne to je jedno z hlavnich tajemstvi jejich uspechu.

Trosku me pak zarazil komentar autora clanku, ze mohou mit predstavu jak to delat a jak ziskat pri softwarovem renderingu takove hodnoty FPS. Asi tusi neco vice nez ja po par letech studia a zajmu :-) zavidim!

A k osvetlovani a zastaralemu vzhledu. Kdyz nad tim premyslim, klasicke metody vyslovene tezily z toho, ze existuje nejaky "povrch" u ktereho lze docela snadno simulovat nejake svetelne vlastnosti - zakladajici se na ruznych vektorech/barvach. V dobe shaderu, se samozrejme osvetlovaci model muze zakladat na temer libovolnych datech a neobvyklych vypoctech - ackoliv vysledkem ne vzdy budou realisticke obrazy. Ale u voxelu? Namapovat vsechny potrebne udaje na takove mnozstvi castic vidim jako docela slozite. Varianta, kdy ma kazda castice vsechny udaje uz z modelu, ve me jen vyvolava pocit obrovskeho mnozstvi dat?! Takze je to jedna z klasickych otazek - sezrat hromadu pameti, nebo sezrat hromadu vykonu?

no, trosku sem se rozepsal, uz koncim, dekuji

+1
0
-1
Je komentář přínosný?

V tomhle případě hodně paměti i hodně výkonu. Podle mne bude close future kombinovat rasterizační techniky s raytracingem.

+1
0
-1
Je komentář přínosný?

Tam je jedna strasne zasadni otazka, jak se dela vyber toho co bude videt... mam teoreticky tri moznosti, bud pro pixel vykreslim vsechny elementy a ponecham si barvu jen toho nejblizsiho (coz dela rasterizace), budu dopredu znat intervaly mezi prostorem a hmotou/voxely a tim i budu vedet kde je jejich rozhrani (velice stary, problematicky a teoreticky postup) - vyhoda je, ze se pohybuju v nejake pevne mrizce s pouzitim celych cisel (to se hodi vzdy), nebo budu z pozice kamery sledovat paprsek vychazejici z pomyslne kamery skrze body mrizky/rastru/bodu obrazovky a pak musim udelat onu slozitou detekci kolize, podobne jako jsem to zminoval u fyziky....

Pokud budeme tedy uvazovat treti moznost, raytracing, mam trosku problem s predstavou, ze pocitam potencialni prusecik primky s kazdym mnoha elementu, ktere autori pouzivaji. Ostatne vzpomente si na rovnici pro primku, hned na nas vyskoci desetina cisla/plovouci desetina carka. Tady se ale da vyuzit to, ze se pohybujem v diskretni mrizce, takze teoreticky, neni treba vykonavat slozite vypocty. Ma to ale svuj hacek, musi se otestovat kazdy bod na trase paprsku... takze cim dal objekt bude, tim dele ho budu hledat. Jestli se autori vydavaji touto cestou - o cemz trosku pochybuju - je jejich vyhoda zrejme postavena na hratkach se statistikou.

ale je to docela uvaha od boku... tak i tak bych byl opatrny s uzitim slov jako je "raytracing".

+1
-1
-1
Je komentář přínosný?

Tohle u raytracingu není problém. Pokud mám rozumně ohraničené objekty (např kámen), tak nejprve otestuju bounding box (což je průsečík paprsku s krychlí, koulí nebo něčím podobně jednoduchým co obsahuje celý objekt) a až když paprsek do bounding boxu vletí, testuju jestli protne jednotlivé plochy kamene a tak.

Bounding boxy mohou být hierarchické (např. bounding box postavy, v něm je bounding box jednotlivých částí těla, např. ruka, ruka pak má bounding boxy jednotlivých prstů a až když se paprsek trefí i do bounding boxu prstu tak pak řeším jednotlivou plošku (např. který kus nehtu) a pro statické scény lze použít k-d-stromy a pak každý paprsek místo aby se testoval průsečík s miliardami objektů scény tak se otestuje třeba jen s tisícovkou různých bounding boxů, dokud se netrefí přesně do nějakého malého ohraničeného objektu.

Pokud dokážu objekty generovat (např. je ve scéně X stejných nebo podobných objektů) tak není problém v rozumném čase i s dnešním HW vyrenderovat raytracingem např. krajinu s miliardami stromů, kdy každý strom se skládá třeba z milionu polygonů nebo koulí, atomů nebo čehokoliv.

Problém ale nastává pokud se věci začnou hýbat (k-d-stromy fungujou jen na statické scény) a trochu problém pak může být i osvětlení (jakmile paprsek narazí na objekt, tak ještě musím spočítat jak je osvětlen, jenže nestačí jen poslat jeden paprsek do každého zdroje světla, jelikož je i nepřímé osvětlení, tak těch paprků je potřeba posílat celkem dost aby to vypadalo realisticky :) I tady to ale lze různě urychlit a zjednodušit různými aproximativními algoritmy, kdy lze ovětlení spočítat o dost rychleji s dostatečně dobrou přesností, že si nikdo nevšimne rozdílu.

Vzhledem k tomu že mají problém právě s osvělením bych to tipoval na raytracing.

+1
+1
-1
Je komentář přínosný?

> Predstava, ze po zruseni polygonu musim mit problem s pocitani fyziky, je v zakladu docela spatna

To jo. S fyzikou v jejich modelu nevidím problém proto, že by neměly polygonu, ale proto, že tam mají tolik částic. Když mám najednou rozpohybovat několik miliard zrnek hlíny, které můžou všelijak navzájem kolidovat se sebou a s okolím, tak je jedno jestli jsou z polygonů nebo atomů, žádný současný CPU ani GPU to v reálném čase neutáhne :)

+1
+1
-1
Je komentář přínosný?

Z vlastnich zkusenosti musim potvrdit, ze dokud se clovek opravdu vazneji nepokusi pouzivat nejake urychlujici struktury (programujicim doporucuju vyzkouset, je to dost zabavne) ... tak vykon trpi. Ostatne ty metody jsou natolik obecne, ze je jedno jestli mam deleni prostoru a hierarchii pouzitou pro raytrace ci rasterizaci.

A s tim osvetlenim - opet musim potvrdit - pokusit se o simulaci globalni iluminace je vykonovy zabijak (opet stoji za vyzkouseni). Clovek vyplaca stovky paprsku na jeden pixel aby pak zjistitl, ze vysledek je stejne zrnity a musi pouzit bud dalsi hromadu paprsku (nebo nejaky dobry svindl...samozrejme).

Ono cele je to vubec otazka, jak moc maji nastavena omezeni. Par tisic castic poletujicich ve vzduchu tu uz prezentoval kdekdo, ale tezko muzem cekat, ze budou simulovat sterkovou cestu v zavodni hre. Ostatne stejne jako s grafikou - existuje nejaka mez, kde jeste je zajimave/ma smysl pokouset se o detailni simulaci. - Pak se opet clovek dostava k tomu, co lze aproximovat (a to nejen u raytraceru).

A jeste jedna neznama, proc by jim to s nejakou konvencni metodou slo a konkurenci ne.

+1
0
-1
Je komentář přínosný?

Viz video- co že celý ten rok co o nich nikdo nešlyšel dělali?? Před rokem udělali kámen do hry, a pak celý rok hledaly nějaký který se mu bude podobataby ho mohli dát na promo video :D

jinak tomuhle vůbec nerozumím, ale když se řešily ty stíny a pod, přece by to šlo zkombinovat s nějakou low-polygonovou mapou na které by už bylo jasné kde mají stíny padat, jak se má postava hýbat + tohle by bylo pozlátko na tom ne??

+1
0
-1
Je komentář přínosný?

Pro psaní komentářů se, prosím, přihlaste nebo registrujte.