.[ ČeskéHry.cz ].
Sollertia
Jdi na stránku Předchozí  1, 2, 3, 4 ... 102, 103, 104  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Inkubátor
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
frca



Založen: 28. 07. 2007
Příspěvky: 1416

PříspěvekZaslal: 29. červen 2011, 19:01:11    Předmět: Odpovědět s citátem

Mám dotaz: Osvětlení v této scéně je vertexové? http://www.youtube.com/watch?v=_MTPNi-alDI&NR=1
Můžeš trochu přiblížit osvětlovací model nebo metodu? Díky.
PS: Pro rýpaly, kteří se pozastavují nad nepodstatnými detaily: Rádoby problémy, kterých si všimne 0.1 % lidí, opravdu nemá cenu řešit. A nebo až úplně na konci, popřípadě až nějakou dobu PO vydání nějakým patchem.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Hunter



Založen: 28. 07. 2007
Příspěvky: 544

PříspěvekZaslal: 29. červen 2011, 19:13:13    Předmět: Odpovědět s citátem

Mimochodem teď mě napadla taková "obligátní" věc, nevím jestli je to v tvých možnostech, ale velice pěkně by taková hra vypadala na iPhonu/iPadu nebo androidím telefonu/tabletu.

Pochopitelně by se tomu muselo přizpůsobit ovládání (jiný engine je samozřejmostí), ale grafika i gamplay by imho šly použít stejné.
_________________
Sharing is caring.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VODA



Založen: 29. 07. 2007
Příspěvky: 1695
Bydliště: Plzeň

PříspěvekZaslal: 29. červen 2011, 19:13:41    Předmět: Odpovědět s citátem

Jj, osvětlení je vertexové. Mám na to napsaný raytracer...
A celý osvětlovací model je založený na tom, že kolem scény (pěkně daleko) udělám jakousi kouli ze světel, pak každé ploše (trianglu) spočítám occlusion factor, prostě jenom nasčítám 1 a 0 (1 světlo je vidět, 0 není vidět), pak to vydělím počtem paprsků (co světlo to paprsek).
Toto mi poskytne AO osvětlení, ale "flat shaded", což já samozřejmně nechci. Takže je třeba kouknout na smoothing groupy (v podstatě...já to dělám ještě trochu jinak) a podle nich interpolovat barvičky vrcholů (podle intenzity každého trojúhelníku).

Raytracer je zabudovaný v mém SceneBuilderu, kam prostě jenom naházím soubor(y), které chci buildovat (OBJ + vlastní varianta materiálů, ale na tom ještě pracuji), z nich načte objekty, vypočítá VAO a zoptimalizuje tak, aby v souboru zabíraly co nejmenší místo (duplicitní vertexy, barvy, texturovací souřadnice)...A uloží do souboru (ten si mohu načítat v enginu do zblbnutí)...

EDIT:
To Hunter:
Určitě by to bylo parádní, ale nevím jestli bych to zvládl a hlavně bych to neměl na čem testovat...
A já bych rád zůstal u PC...
_________________
Opravdovost se pojí s trýzní...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 29. červen 2011, 21:41:15    Předmět: Odpovědět s citátem

Hehe ... tak to se hned poptám, jak provádíš raytracing (jakou používáš optimalizační strukturu, kolik MRays/s dostaneš v jaké scéně, jaké máš build-time pro optimalizační strukturu, jak počítáš ray triangle - používáš pakety, či ne, jaký typ testu (Pluckeruv, Barycentricky, ... ))?

Nicméně ambient occlusion počítáš velmi pomalým způsobem, šlo by to mnohem (MNOHEM) rychleji - samplovat světla kolem scény je šílené plýtvání zdroji, a trvá to a trvá to. Jednoduše není to správný způsob jak na to jít.

Takže, pro jednoduchý popis - provedeš ray tracing do hemisféry nad bodem s rádiusem R (tzv. occlusion radius), čím bude větší, tím bude AO více globální, a úplně globální AO nechceme (chceme takové, které v dané scéně bude vypadat dobře - protože AO není physically based neexistuje žádné unifikované řešení na AO - tvoje verze bude šíleně globální, a lokální AO bude prakticky neviditelné). Pokud to chceme jednoduše, vystřílíme náhodně do hemisféry nad bodem N polopřímek, ty které strefí něco dříve než hemisféru jsou zakryty, takže celkové AO bude N/Z, kde Z jsou "zakryté polopřímky".
Proč takto? Jednoduše, pokud budeme v hierarchii primitiv (BVH, BIH, QBVH, ...), nebo v BSP tree (či jeho variacích), sledování polopřímek na krátkou vzdálenost je velmi rychlé (řádově rychlejší než sledovat ji skrz celou scénu), bez nějaké hierarchie scény to však nepomůže.
Jak docílit najednou globální i lokální AO? Jak jsem zmínil AO není physically based, nicméně můžeme v hemisféře použít nějakou exponenciální "falloff funkci" kterou vztáhneme ke vzdálenosti do prvního nárazu polopřímky vzhledem k occlusion radiusu.

Snad to je alespoň trochu srozumitelné. Napsal bych i sample, ale bohužel nemám momentálně nejnovější verzi frameworku portovanou pod windows, tak bych mohl ukázat jen linux x64 binárku.
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1782

PříspěvekZaslal: 29. červen 2011, 22:50:48    Předmět: Odpovědět s citátem

Ale aj tak je kvalitne per-vertex AO strasne pomale a v podstate pre rozumne velke modely off-line Sad Btw, na samplovanie vo velmi malom okoli sa podla mna velmi hodia aj obycajne uniformne mriezky -- daju sa pomocou (GP)GPU prestavat AJ traverzovat kurevsky rychlo, duplom ak mas rozsah dotazov len par voxelov (podla vlastnej skusenosti ich stromova struktura v tomto nemoze porazit, aj napriek ich totalnej primitivnosti a zjavnym nevyhodam).
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VODA



Založen: 29. 07. 2007
Příspěvky: 1695
Bydliště: Plzeň

PříspěvekZaslal: 29. červen 2011, 23:21:50    Předmět: Odpovědět s citátem

To Vilem Otte:
Čekal jsem, že zareaguješ. Není to nic světoborného. Ta scéna co je ve videu se počítala něco kolem 10-20 sekund, jedeto na CPU, dělím to pomocí octree (používám třídu kolizní geometrie z enginu hry)...čísla nevím, strom se vytváří velmi rychle, výpočet je pomalejší, ale pro mé potřeby je to dostačující. Ty paprsky zas tak dlouhé nejsou. Počítám to pro 100 světel rozmístěných na hemisféře.

Mě zas nejde o reálnost, mě jde o konzistentnost, počítám tak osvětlení pro animovné modely v GMaxku (maxscript) a teď i pro scénu.
No a řekněte, bolí Vás u srdce, když se na to díváte? Mě ne, docílil jsem toho efektu, kterého jsem dosáhnout chtěl...

Důležité je, že jsem si to vše vymyslel a nakódil sám a mohu to používat, tak jak potřebuji...
_________________
Opravdovost se pojí s trýzní...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
VladR



Založen: 30. 07. 2007
Příspěvky: 1322
Bydliště: Greater New York City Area

PříspěvekZaslal: 29. červen 2011, 23:48:08    Předmět: Odpovědět s citátem

Pri offline AO rendereri je absolutne nepodstatne, ci bezi 2 sekundy alebo 200.


Hrac si pri rovnakej kvalite AO nema absolutne ziadnu sancu vsimnut, ci to AO bolo generovane za 2 alebo 200 sekund.

Jedinu nevyhodu to ma pre developera, ale kedze to generuje len raz, tak to pri vacsich leveloch proste necha generovat cez noc alebo cez obed. V tom problem nevidim.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 30. červen 2011, 00:35:15    Předmět: Odpovědět s citátem

#pcmaster
citace:
Ale aj tak je kvalitne per-vertex AO strasne pomale a v podstate pre rozumne velke modely off-line

AO je velmi rychlé i pro větší modely (mám na mysli rychlé předpočítání), dá se počítat i dynamicky per-pixel v ray traceru (CPU based), na takovém Core i7. Bohužel nikdo nevytvořil program, který by mohl rychle předpočítávat per-vertex AO pro velké modely. Nicméně řekněme, že bychom měli model 200k tris, chtěli bychom 256 sample AO (což je dostatečně hladké), pokud dobře počítám, tak 200k tris model by bylo nějakých 300k vertices (odhadem - nebude to trojnásobek, protože nějaké jsou sdíleny, tak 1.5 násobek, je na to někde i výpočet - nechce se mi hledat), celkem potřebujeme 76 800 000 samplů, pokud bychom traversovali celou scénu, ForgottenLIB by měl nějakých 5 MRay/s na jádro, takže 16s precomputing na single core CPU (na 4-core i7 udělá někdy i 20 MRays/s), jenže tady by zahrál svou roli radius (a bylo by to v praxi o něco méně). V praxi by to tedy netrvalo až tak dlouho. Jenom bych dodal, že 256 sample AO je sakra hodně! Docela bych do takového programu i šel, jenže otázka je, zda by čas strávený nad tím měl smysl a bylo by možné produkt za nějakou rozumnou cenu prodávat...

Pozn.: Samozřejmě počítat vertex to vertex AO je overkill, toto CHCE samplování! Možná by teoreticky šlo použít i importance sampling na urychlení výpočtu než bude hladký... Navíc AO result by mohl být zobrazen progresivně a uživatel by mohl stisknutím klávesy přidat další/dalších N samplů ... případně by se počítaly "donekonečna" progresivně.

citace:
Btw, na samplovanie vo velmi malom okoli sa podla mna velmi hodia aj obycajne uniformne mriezky

Záleží na scéně, dle scény budou gridy šíleně skákat ve výkonu, kdežto SAH KD-Tree bude mít balancovanou rychlost.

#VODA
U délky paprsků jsem měl na mysli to, že jdou přes celou scénu. Octree nejsou špatné, pro základ, Obvykle je o něco málo rychlejší než Grid, časem to docela odpovídá tomu co jsem očekával (100 světel je dost) - původně jsem myslel že používáš naive, nebo grid.

Ad reálnost - samozřejmě, pokud by šlo o reálnost, můžeš předpočítat GI přes path tracing (nebo v lepším počítat GI dynamicky Twisted Evil - ale to chce už celkem velkou magii s kódem, a často i sem tam něco "osrat"). Nicméně vlastní vymyšlení chválím! Wink
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
Ladis



Založen: 18. 09. 2007
Příspěvky: 1488
Bydliště: u Prahy

PříspěvekZaslal: 30. červen 2011, 07:28:28    Předmět: Odpovědět s citátem

Mně se osvětlení v uvedené ukázce moc líbí, takže bych do něj neinvestoval více času (optimalizace), když ten čas lze uplatnit na věcech ve hře, které vidět budou.
_________________
Award-winning game developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1782

PříspěvekZaslal: 30. červen 2011, 08:20:51    Předmět: Odpovědět s citátem

Inak samozrejme suhlas s Ladisom... My su tu len tak honime ega Very Happy Pozornost bude nutne zamerat inym smerom.
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1482
Bydliště: Telč

PříspěvekZaslal: 30. červen 2011, 09:22:50    Předmět: Odpovědět s citátem

To je fakt pěkný, to osvětlení, to si asi taky udělám! :-) Nepochybuju o tom, že technologii zvládáš dobře, vypadá to pěkně. Ale jak popisuješ hru, tak mi přijde, že to bude víc práce, než na enginu...Osada, Svět... .
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VODA



Založen: 29. 07. 2007
Příspěvky: 1695
Bydliště: Plzeň

PříspěvekZaslal: 30. červen 2011, 14:11:06    Předmět: Odpovědět s citátem

]semo[ napsal:
To je fakt pěkný, to osvětlení, to si asi taky udělám!

Wink Díky...určitě udělej...

Ladis napsal:
Mně se osvětlení v uvedené ukázce moc líbí, takže bych do něj neinvestoval více času (optimalizace), když ten čas lze uplatnit na věcech ve hře, které vidět budou.

Jsem rád, že se to líbí a rovněž souhlasím, že je třeba pořádně zapracovat úplně na jiných věcech, což mám také v plánu.

Už mi chybí jen jedna zkouška (fyzika 2, bléé) a můžu se naplno věnovat vývoji (no do doby než půjdu na brigádu, ale ta zas tak dlouho trvat nebude, takže na vývoj bude přeci jenom času dost).
Rád bych teď dodělal poslední zbytky enginu (ať je to načisto) a během toho budu paralelně přemýšlet, jak to vše poskládat.

Čím více si s tím hraju, tím víc jsem přesvědčenej o tom, že to musím dodělat. Už jenom kvůli tomu, abych si napravil reputaci z předešlých neúspěchů... Wink

Co chybí v enginu a rád bych dodělal:

1. materiály ve scéně
2. optimalizace scény (nějaké jednoduché dělení prostoru)
3. částicové systémy (ale už jsem je jednou dělal)
4. vylepšit mass-spring system (hlavně stabilizovat, občas se mi to rozsype)
5. přehrávání zvuků a hudby

Bod 4 a 5 budu řešit asi až později.
No a během toho budu samozřejmě pracovat na herních mechanikách, příběhu, apod.
_________________
Opravdovost se pojí s trýzní...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
slax



Založen: 07. 09. 2009
Příspěvky: 11

PříspěvekZaslal: 30. červen 2011, 14:54:35    Předmět: osvetlenie Odpovědět s citátem

tovoj sveleny model vyzera super
no mozno viete mozno nie ale lepsi vysledok dosiahnete ked pouzijete na svetlo texturu ( google: bake to texture ) // http://www.youtube.com/watch?v=l5Xeqx9yAYo
da sa tym spravit (ambient occlusion, static shadows, indirect lighting )

vela stastia s dalsim vyvojom
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Hunter



Založen: 28. 07. 2007
Příspěvky: 544

PříspěvekZaslal: 30. červen 2011, 15:32:11    Předmět: Odpovědět s citátem

]semo[ napsal:
Ale jak popisuješ hru, tak mi přijde, že to bude víc práce, než na enginu...Osada, Svět... .
Já bych doporučoval se zabývat tím, jak se bez toho Světa obejít, nechat ho jen dialozích jako místo, které existuje, ale hra se na něj nedostane.

Máš krásný koncept nějaké velmi malé uzavřené Osady s malým počtem lidí, která je nějakým způsobem soběstačná a oddělená (ať už je to skalní ostrov na moři nebo lítací ostrov zavěšený na balónech nebo podmořská základna ... o je vcelku jedno) a když tu svoji postavu do Světa vypustíš, začneš vymýšlet čím dál víc věcí, které by tam mohli být (města a jeskyně, protože jsou super, a lesy a hory a a a ...) a bude velmi těžké to nějakým způsobem zastavit.

Ale pokud si vymyslíš chytrý příběh a questy, můžeš celou hru pohodlně udržet v Osadě. Tam může být spousta úžasných věcí - ruiny starobylého stavení, o kterém se obyvatelé bojí byť jen mluvit, "tajný" obyvatel, o kterém ostatní nevědí, co budeš chtít ...
_________________
Sharing is caring.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VODA



Založen: 29. 07. 2007
Příspěvky: 1695
Bydliště: Plzeň

PříspěvekZaslal: 30. červen 2011, 16:01:46    Předmět: Odpovědět s citátem

To Slax:
Jo, to sice jo, ale řekni mi, který free editor (kromě blenderu) mi to spočítá?
A když to dokáži udělat sám takhle, tak proč si to komplikovat?

To Hunter:
No, ono by to mělo být tak nějak, osada, ze které se postava vydá do nejbližšího okolí...nic rozsáhlého...
_________________
Opravdovost se pojí s trýzní...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Inkubátor Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3, 4 ... 102, 103, 104  Další
Strana 3 z 104

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna