Klávesové zkratky na tomto webu - základní
Přeskočit hlavičku portálu

Diskuse k článku

Nvidia má engine pro realtime raytracing

Od okamžiku, kdy se firma Intel poprvé zmínila o svém chystaném grafickém superprocesoru Larrabee, zaklíná se neustále, že pro tvorbu her bude chip využívat technologii raytracingu v reálném čase. Tedy technologii známou spíše z fotorealistických renderů. Naproti tomu výrobce grafických karet Nvidia snahy Intelu o realtime raytracing jako metodu při tvorbě her kritizoval. Nyní Nvidia představila svůj engine Optix, který má umožnit právě technologii realtime raytracingu na grafických kartách.

Upozornění

Litujeme, ale tato diskuse byla uzavřena a již do ní nelze vkládat nové příspěvky.
Děkujeme za pochopení.

Zobrazit příspěvky: Všechny podle vláken Všechny podle času

Host

raytracing a dokonalost

pokud jde o to mít všechny efekty jako ve skutečnosti, muselo by se spošítat mnohanásobně víc než jen přímý odlesk na lesklých površích, musela by tam výt i aberace, lom světla, fresnel a DOF, jelikož i při pohledu do odrazu ve skutečnoosti ostříme na určitou vzdálenost. a pro povrchy s propustností světla by se musel dělat i subsurface scattering a vůbec pro extrémní realismus by se to muselo kombinovat s radiositou a proto doba kdy začnou hry renderovat realisticky je daleko dál než doba kdy budou renderovat geometricky správně.

0/0
8.8.2009 13:59

Host

Raytracing

Ten rozumbrada, co tu rozebírá důvody, proč raytracing nefunguje a nemůže fungovat, by si měl jednak o tom něco přečíst a jednak by měl přestat lhát o tom, že to nikde neviděl a našel si na internetu na stránkách univerzit funkční projekty raytracing enginů, které běží realtime už ve slušných FPS a pak sem teprve psal svoje rozbory, které sice odargumentovává moc pěkně, ale staví je na neznalostech...

0/0
8.8.2009 12:48

Host

hm

ID TECH 6 = raytracing + voxely

Carmack rulez

Nvidia sux

lalalalala...

0/0
7.8.2009 19:07

Host

.

Neměl byste někdo stránku, která blíže popisuje rayltime raytracing. Ted to vidím poprvé a úplně to nepobírám.

Díyk

0/0
7.8.2009 10:53

Host

Re: .

sry real, nevim co mi t opopadlo :-D

0/0
7.8.2009 10:54

Host

Re: .

http://www.svethardware.cz/art_doc-FCE1823B3C965F8AC12574BE004E14D3.html

0/0
7.8.2009 11:11

Host

Hmmm

Já nevím proč, ale tomuhle systému prostě pořád nevěřím :-/

Asi něco nechápu, ale myslím, že není možný vytvořit obraz pouze simulací sledování paprsků světla. Kdykoliv světelný paprsek dopadne na povrch, tak (s výjimkou laseru) se rozláme do spousty směrů - a to spojitě. Na PC můžu sledovat jen konečně počet parsků, takže to musím "rozrastrovat" a udělat odraz třeba jen stovky. A pokud bude předmět dál, může se mi přece stát, že některý minou "obrazovku" nebo mezi vznikonou mezery ne?

Pro představu jak to myslím - představte si obrovskou koulí ve velksé vzdálesnot (třeba slunce - pro extrémní příklad). V reálu z ní jde světlo naprsoto všemy směry a pro okem vidím hezky spojitý obraz. Ale na PC při sledování paprsků z toho slunce budu moct vylsta jen pár destíek milionů paprsků. A na t uvzdálenost se velmi malá šance že se mi některý vůbec trefí do oka - take bych to slunce vůbec neviděl.

Prostě se pořád bojím, že tahle metoda vypadá asi hezky na předcchystaných obrázcích. Ale že to bude moct způsobovat graficý humsuy ve skutečných hrách.

0/0
7.8.2009 10:49

Host

Re: Hmmm

Nemáš pravdu. Vtip je v tom, že tato metoda se v počítačích implemtentuje tak, že se paprsky počítají obráceně. Tedy nikoli ze zdroje světla k oku, ale od oka (kamery), zkrze každý pixel pomyslného monitoru, až ke zdroji (v google mi to po pár sekundách našlo tohle: http://www.iss.rwth-aachen.de/Projekte/grace/raytracing.gif ).

Nemáš pravdu ani v tom, že to vypadá dobře na předchystaných obrázcích. Raytracing se už roky používí ve filmových tricích, různých technologických demech a Intel už představoval raytracingového Quake wars, kde opravdu k žádným chybám nedocházelo a žádné díry tam nebyly. A nešlo o nějaké předchystané video, ale zcela prokazatelně realtime raytracing, bežící na 4 čtyřjádrech.

Detaily po mě nechtěj, ale realtime raytracing je budoucnost grafiky a firmy jako Intel a nyní už i nVidia do toho neinvstují těžké miliony dollarů, aby po pár letech zjistili, že tam mají nějaké díry.

0/0
7.8.2009 11:10

Host

Re: Re: Hmmm

Ale i obráceně to funguje defakto stejně a má stejné nevýhody. Představ si opět kameru (plochu monitofru) a slunce - kolik paprsků by jsi musel z každého pixelu trackovat aby jsi měl jistotu že to slunce neminou a zobrazí správnou barvu? A to mluvíme pouze o přímým podhledu. Teď si představ že tahle počítáš odlesk toho slunce na kapotě auta. Kolik poprsků  musší z pixelu trackovat k autu a na kolik dalších tam musíš každý paprsek rozlámat?

Dokud nebudeš schopen spočítat nekonečně mnoho paprsků vyslaných z jednoho pixelu, tak pořád se ti bude moct stát že zrovna ten chybější paprsek mine něco podstatnýho. V nízkém rozlišení a interiérech je to asi použitelné (stejně jako pr ozobrazení jednoho vozu v blízkosti kamery). ale nějak nevěřím že to bude bezchybně a efektivně šlapat v exteriérech - navíc s několika lesklými plochamy.

Tam se může většina problémů skrýt, když jeden screen bude renderovat půl minuty. (ala filmový triky)

0/0
7.8.2009 12:06

Host

Re: Re: Re: Hmmm

Ale taky isty problem je aj u terajsej rasterovej grafiky, sposobuje to totiz napriklad aliasing (zubate okraje). Tiez sa pocita farba len jedneho nekonecne maleho bodu.

Aby si tento problem odstranil, mozes pocitat farbu viacerych bodov v jednom pixeli, alebo viacerych lucov prechadzajucich danym pixelom pri raytracingu - teda vlastne antialiasing.

Tu medzi rasterovou grafikou a raytracingom nie je ziadny rozdiel.

0/0
7.8.2009 13:30

Host

Re: Re: Re: Re: Hmmm

Pokud se nepeltu, tak u zobrazování polygonů se to počítá maličko jinak. Systémem, kde opravdu k vynechání pixelů nehrozí. Tam ti stačí vždy spočítat přesně tři body a podle velikosti na obrazovce zmeníš a deformuješ texturu (hodně zjednodušeně řečeho a o většinu už se postará sama grafárna) Vždycky máš jistotu že všechny pixely to budou vyplněný. Nízký rozlišení a zubatost.... to už je úplně jinej problém.

Pokud ale chápu dobře principy RC, tak se bojím, že je možné že může na obrazovce nechávat prázdná nebo špatně zbravená místa. U polygonů jde o jednoduchou geometrii. Promítnutí 3D trojúhelníku na plochu opravdu není v čem zkazit. Ale sledování paprsků světla už může způsobit že jich nebdueš sledovat dostatek a paprsky minou cíl.

0/0
7.8.2009 17:35

Host

Re: Re: Re: Hmmm

Myslím že je to trochu jinak. Směr od kamery (oka) skrze jeden pixel vede pouze jeden paprsek, viz druhý obrázek ( http://www.svethardware.cz/art_doc-FCE1823B3C965F8AC12574BE004E14D3.html ). Ostatní paprsky prostě oko minou a nejsou důležité. Tento paprsek se s něčim protne a pak se prostě zjistí (to je trivialita) je-li z tohoto místa vidět nějaký (nějaké) zdroj (zdroje) světla. Pokud ano, snadno se zjistí, jaký má mít tento bod barvu a intenzitu (z barvy textury, barvy zdrojů, intenzity zdrojů, úhlu dopadu paprsku, atd...). Pokud z tohoto bodu protnutí žádný zdroje světla není vidět, prostě tam bude stín (nadefinuje se, nějaký stupeň ztmavení pro tyto body). Jde samozřejmě také udělat, že i z tohoto bodu se rozprchnou paprsky na všechny strany a ty se zase s něčím protnou a v tomto místě se opět hledá je-li odsud vidět nějaký zdroj světla. Takto se to dá dělat stále dál, ale náročnost pak výrazně roste. Nicméně ani klasická rasterizace žádné odrazy světla od materiálů, které by pak něco dál osvětlovali, vůbec nepočítá a přitom vypadá dobře.

Jak se řeší ten další stupeň odražení (tedy rozprchnutí paprsků z bodu, z kterého není přímo vidět žádný zdroj světla) opravdu nevím. Ale jak říkám, dnešní klasická rasterizace (všechny dnešní hry) tohle také neřeší. Společnosti tímhle se zabívající, včetně Intelu, na to prostě nejspíš mají nějaké složité algoritmy, jenž ti tu asi hned tak někdo nevysvětlí.

Na téhle stránce ( http://www.idfun.de/qwrt/ ) v sekci video si můžeš stáhnou video z realtimového quake wars. Běželo to na čtyřech 4jádrech kolem 20fps. Opravdu tam žádné chyby nejsou.

Mimochodem, právě ten výpočet odlesku slunce na kapotě auta, je pro raytracing strašně triviální. Od lesklých povrchu se paprsek odráží pouze jedním směre. Tedy se pak dá počítat i mnoho násobné odrazy strašně snadno. Problém je s matnými povrchy, z kterých se paprske odráží chaoticky všemi směry. Tam se prostě asi musí počíta pouze jeden odraz (od kamery do materálu a k zdroji), jinak by to bylo moc náročné.

Jen bych doplnil, že se klidně mohu mýlit. Nejsem programátor, ani grafik, pouze jsem to takto selským rozumem pochopil z nějaký článků.

0/0
7.8.2009 13:31

Host

Re: Re: Re: Re: Hmmm

Ano.. tne obrázek jak ukazuješ plně chápu. Ale má jeden háček - zobrazuje přesně jedne předmět ideálně zvolené veliskosti a pouze tři paprsky, které všechyn dopadají na místa vhodná pro vysvětelní principu.

Ale teď si představ že tu kouli zmenší na polovinu. A ani jeden ze zobrazených paprsků ji nezasáhne.... co s tím? Jednoduše potřebuješ více paprsků... ale nemáš ponětí kde a jak velká ona koule je. Takže parsků musíš vyslat co nejvíc aby jsi měl jistotu že se někde trefíš. A ať jich uděláš libovolné množství, tak pořád bude šance, že se drobný předmět ocitne v místě, kterým ani jeden z paprsků neprochází.

Rozhodně není pravda, že by stačil jeden paprsek pr ojeden pixel. Představ si hru, která má na řádku 1200pixelů. A že by jsi z každého vyslal jeden paprsek směrem oko-pixel-předmět...  Představ si v jakým rozptylu se těchto 1200 paprsků bude nacházet při zobrazování 10 km vzdáleného lesa... nechce se mi to teď počítat, ale bude to nepochybně v metrech. Každý mixel ti zobrazí jeden z těhcot, několik metrů vzdálených bodů. A cokoliv bude mezi nimi, bude neviditelné?

Jako v případě antialiasingu je ntuno vytvořit obraz v mnohonásobně větším rozlišení (udělat mnohem větší rastr, kterým prohází mnohonásobně více paprsků) - potom je pravděpodobnost, že  mineš mnohem menší. Ale aby jsi ji eliminovat (jako v případě polygonů se t odělá snadno), tak by jsi potřeboval nekonečno paprsků... což je nemožné.

0/0
7.8.2009 17:51

Host

Re: Re: Re: Re: Re: Hmmm

Pokud je mi známo, tak výpočet raytracingu se skládá ze dvou fází. V první se zanalyzuje scéna a ve druhé se do ni začnou vysílat (počítat) paprsky (tedy s čím, kde, pod jakým úhlem se srazí, atd...). Před výpočtem každého snímku je tedy naprosto přesně známo, kde jaký objekt běží, jak je velký, jeho barva, materiály, no prostě naprosto všechno. Nejde si to představovat tak, že raytracingový software začně vysílat slepě paprsky do prostoru a teprve když na něco narazí (jako slepec holí) uzří co tam vlastně je. Jenom hádám, opravdu se v tom nevyznám, ale protože se předem přesně ví, kde je oko, mřížka pixelů a je také přesně známo, jak vypadá kompletně celá scéna, paprsky se moho vyslat tak, aby nic neminuly. Pokud bude ve velké vzdálenosti plno malých objektů, bude asi třeba skrze jeden pixel mřížky třeba vyslat více paprsků. To pochopitelně zvýší náročnost výpočtu, ale to samé je přece i u klasické rasterizace. Tam tam také při nějaký efektech s plno částicemi dochází k brutálnímu zpomalování a řeší se to nějak složitě různými fiňárami. Jak už bylo napsáno. Raytracing funguje strašně dlouho u profesionálnách grafických výpočtů, a tvoří se díky němu od reality nerozeznatelné obrázky. To je jasný důkaz, že to bez chyb udělat jde. U realtime raytracingu je na to sice méně času, ale praxe jasně ukazuje, že je to na úkor kvality (malé rozlišení textur, méně polygonů, méně odrazů, atd), ovšem zcela bez nějakých chyb a děr.

0/0
7.8.2009 18:16

Host

Re: Re: Re: Re: Re: Re: Hmmm

"Před výpočtem každého snímku je tedy naprosto přesně známo, kde jaký objekt běží, jak je velký, jeho barva, materiály, no prostě naprosto všechno."

Samozřejmě. Tady někdo očividně neví, o čem mluví.

0/0
7.8.2009 19:05

Host

Re: Re: Re: Re: Re: Re: Re: Hmmm

Samozřejmě. Tady někdo očividně neví nic, ale chce vypadat jako machr.

0/0
7.8.2009 19:30

Host

Re: Re: Re: Re: Re: Re: Re: Re: Hmmm

Nebreč, že ta quota nahoře je pravdivá..

0/0
8.8.2009 9:00

Host

Re: Re: Re: Re: Re: Re: Re: Re: Re: Hmmm

Nefňukej, ta quota nahoře je pravdivá...

0/0
8.8.2009 9:38

Host

Re: Re: Re: Re: Re: Re: Hmmm

jde o to že aby byl realtime raytracing, je to jenom to nejjednodušší, a to rozhodně nebude mít variabilní počet paprsků, takže se klidně stane že když budeš mít dost malou hranu a na ní bys měl vidět odlesk nějakého silného světla, s největší pravděpodobností uvidíš sem tam pixel, přesně jako se to děje při použití mulisamplingu nebo bez AA při rasterizaci, protože si to ten render neuvědomí že by měl přizpůsobit výpočet podle velikosti bumpmapované textury.

a jesti mají něco složitějšího na ty jejich quadro stanice tak to už možná vyřešili, ale znamenalo by to že už to není ta nejrychlejší možnost jak na RT, a tím pádem už nemá max framerate.

0/0
8.8.2009 14:15

Host

Re: Re: Re: Hmmm

No jasně ty nám tu teď budeš tvrdit, že technologie která se úspěšně několik používá vlastně vůbec nefunguje, protože ty tomu rozumíš líp. Zamysli se nad tím co říkáš.

0/0
7.8.2009 13:31

Host

Re: Re: Re: Re: Hmmm

Ano.. Zcela funkční technologie, kterou jsem zatím viděl pouze na předrenderovaných videích a tuším jedné hře, která běžela v rozlišení pod 100pixelů na jedné straně a odehrávala se v docela těsnýc hinteriérech (Q3 tuším)... proč já tomu jen pořád nevěřím :-)

0/0
7.8.2009 17:36

Host

Re: Re: Re: Re: Re: Hmmm

Technologie, která byla vidět v nesčetném množství filmových triků a technologie jenž se běžně uplatňuje u spousty profesionálních grafických programů. V reálném čase byla Intelem presentována v rozlišení 1280x720 a nVidií dokonce v 1920x1080 s AA. I Sony s Cellem předváděla ve vysokém rozlišení realtime dema.

0/0
7.8.2009 17:57

Host

Re: Re: Re: Re: Re: Re: Hmmm

viděl jsem jak mají 3 SP3 problém spočítat raltime jedno lamborghini, asi to bude hledatelné na youtube. to je tak všechno co vím o SONY RT.

0/0
8.8.2009 14:18

Host

Re: Re: Re: Re: Re: Re: Re: Hmmm

Je fakt, že v realtime raytracing asi nejlépe zvládá Intel. nVidia, ATi i Sony se zmohli jen na nějaká technologická dema. Intel naproti tomu předělal skutečnou hru (Quake 3, 4 a Quake wars). Ačkoli na její rozpohybování potřeboval 4 výkonné procesory, podle všeho pro jedno Larrabee by to neměl být problém. Co jsem četl, tak díky nové instrukční sadě má jedno jádro Larrabee při raytracingu potřebovat 4.5x méně hodinových cyků než na stejný výpočet potřebuje jedno jádro klasického Core 2. Jinak řečeno 32jádrové Larrabee by při raytracingu mělo mít výkon asi jako cca 100 jádrové Core 2. Tudíž zcela plynulý raytracingový Quake wars v 1080p by neměl být nejmenší problém.

0/0
8.8.2009 17:49

Host

Re: Re: Re: Re: Re: Re: Re: Hmmm

Předpokládám, že si viděl i chybějící odlesky kvůli parprskům, které se netrefily. Rofl.

0/0
8.8.2009 19:05

Host

Re: Re: Re: Re: Re: Re: Re: Re: Hmmm

^demence na plný obrátky. WUFL.

0/0
8.8.2009 23:27

Host

Re: Re: Re: Re: Re: Re: Re: Re: Re: Hmmm

Přesně tak, díky, že jsi to uznal.

0/0
9.8.2009 0:55

Host

ach jo

Vskutku kvalitní diskuse pánové.

0/0
7.8.2009 10:29

Host

Re: ach jo

njn, čtenáři bonuswebu.......

0/0
7.8.2009 10:35

Host

Re: Re: ach jo

ty snad niesi ? ;-D

0/0
7.8.2009 18:31

Host

shit

shitVidia GrcFrc valí ;-D

0/0
7.8.2009 9:20

Host

Re: shit

jasne.., znalec prehovoril ;-D

0/0
7.8.2009 10:20

Host

Re: shit

?

0/0
7.8.2009 10:41

Host

haha

hehe

0/0
7.8.2009 6:41

Host

Re: haha

huhu

0/0
7.8.2009 8:57

Host

Re: Re: haha

hihi

0/0
7.8.2009 9:55

Host

Re: Re: Re: haha

haha

0/0
7.8.2009 10:00

Host

Re: Re: Re: Re: haha

Uaaaaaaaaaaaaaaa! Aaaaaaaaaa!

ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ!

0/0
7.8.2009 13:32







Najdete na iDNES.cz



mobilní verze
© 1999–2017 MAFRA, a. s., a dodavatelé Profimedia, Reuters, ČTK, AP. Jakékoliv užití obsahu včetně převzetí, šíření či dalšího zpřístupňování článků a fotografií je bez souhlasu MAFRA, a. s., zakázáno. Provozovatelem serveru iDNES.cz je MAFRA, a. s., se sídlem
Karla Engliše 519/11, 150 00 Praha 5, IČ: 45313351, zapsaná v obchodním rejstříku vedeném Městským soudem v Praze, oddíl B, vložka 1328. Vydavatelství MAFRA, a. s., je členem koncernu AGROFERT.