Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
mar
Založen: 16. 06. 2012 Příspěvky: 602
|
Zaslal: 5. únor 2017, 19:27:55 Předmět: |
|
|
VODA napsal: |
Ještě takový dotaz, ty vrcholy ve výstupním souboru asi nejsou ve stejném pořadí, jako v obj, viď?
|
Ano, nemusí to tak být. Při konverzi do jiného systému myslím prohazuji winding + importér může zahodit některé degenerované trojúhelníky (i když ty tam asi mít nebudeš).
Jinak nic za to nechci, budu rád, když se to bude hodit (bude mi úplně stačit, když sem pak postneš třeba nějaký screenshot, až to budeš testovat v enginu, i kdyby ten výsledek nebyl dobrý)
A i kdyby ne, tak díky tomu jsem si opravil jeden bug, kdy mi to negenerovalo binárně shodné výsledky ve více vláknech
a druhý byl dokonce heap corruption v optimalizaci atlasu.
Každopádně u thekly mě ani tak netrápí, že mají lepší využití v atlasu, jako to, že mají mnohem lepší clusterování.
Já používám primitivní clusterování podle maximální komponenty normály.
Nechci mírnit tvé nadšení, uvidíš sám. Někdy ty seamy jsou dost vidět a nevypadá to dobře, záleží taky na typu geometrie.
Zkoušel jsem třeba nějakou lowpoly jeskyni a vypadalo to špatně. Plochý terén nebo ostré plochy jsou ok.
Každopádně by mělo být možné to částečně kompenzovat zmenšením velikosti texelu u lightmapy; tady ještě jedna drobnost: pokud nějaká group (cluster) přesáhne velikost atlasu, tak se automaticky sníží detail, aby se tam vešel.
Tady by asi bylo korektní spíš ten cluster rozbíjet, ale takhle se to zatím chová.
Takže alternativa by byla zvětšit velikost atlasu, ale nevím jak moc ok by bylo mít 4k lightmapy... |
|
Návrat nahoru |
|
|
VODA
Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 5. únor 2017, 19:56:23 Předmět: |
|
|
mar napsal: |
VODA napsal: |
Ještě takový dotaz, ty vrcholy ve výstupním souboru asi nejsou ve stejném pořadí, jako v obj, viď?
|
Ano, nemusí to tak být. Při konverzi do jiného systému myslím prohazuji winding + importér může zahodit některé degenerované trojúhelníky (i když ty tam asi mít nebudeš).
Jinak nic za to nechci, budu rád, když se to bude hodit (bude mi úplně stačit, když sem pak postneš třeba nějaký screenshot, až to budeš testovat v enginu, i kdyby ten výsledek nebyl dobrý)
A i kdyby ne, tak díky tomu jsem si opravil jeden bug, kdy mi to negenerovalo binárně shodné výsledky ve více vláknech
a druhý byl dokonce heap corruption v optimalizaci atlasu.
Každopádně u thekly mě ani tak netrápí, že mají lepší využití v atlasu, jako to, že mají mnohem lepší clusterování.
Já používám primitivní clusterování podle maximální komponenty normály.
Nechci mírnit tvé nadšení, uvidíš sám. Někdy ty seamy jsou dost vidět a nevypadá to dobře, záleží taky na typu geometrie.
Zkoušel jsem třeba nějakou lowpoly jeskyni a vypadalo to špatně. Plochý terén nebo ostré plochy jsou ok.
Každopádně by mělo být možné to částečně kompenzovat zmenšením velikosti texelu u lightmapy; tady ještě jedna drobnost: pokud nějaká group (cluster) přesáhne velikost atlasu, tak se automaticky sníží detail, aby se tam vešel.
Tady by asi bylo korektní spíš ten cluster rozbíjet, ale takhle se to zatím chová.
Takže alternativa by byla zvětšit velikost atlasu, ale nevím jak moc ok by bylo mít 4k lightmapy... |
Ok, to je v pohodě, prostě si to načtu z toho výstupu a upravím podle potřeb, stejně tam nic jiného než pozici vrcholu, normálu a UV souřadnice nemám.
Tak když nic nechceš, tak Ti napíši do Sollertie poděkování. A až bude alfa, tak pošlu.
To je dobře, že to mělo tento "opravující" efekt. Nedávno se mi stalo něco podobného. Dával jsem Spytihněvovi vyzkoušet aktuální build Sollertie a nešlo mu to sputit. Pak jsem zjistil, že z nějakého záhadného důvodu všude přibaluji 64bit verzi SDL2, přestože má aplikace je 32bit. Windows 10 bohužel nenapsal žádnou srozumitelnou hlášku, až na XPčkách jsem zjistil, že mám jinou bitovou verzi.
Třeba časem přijdeš na lepší způsob clusterování. Nicméně, tak jak to máš to bohatě stačí.
S těmi švy si nedělej hlavu, kdyžtak trochu zahýbu s texturovacími souřadnicemi, aby se vizuálně potlačily.
Tak ještě jednou děkuji a až budu mít nějaké screeny, tak určitě ukáži. _________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
|
VODA
Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 6. únor 2017, 20:27:33 Předmět: |
|
|
Tak jsem to zabudoval do enginu a zkusil na nějakých testovacích scénách. A je to 50/50. Některé objekty jsou velice pěkně vypočtené. Kulatější objekty bohužel zas trpí (jak už tu padlo) problémy se švy. Mám v plánu tedy texturovací souřadnice lehce posunout, aby se švy vykompenzovaly. Mělo by stačit posunout cca o půl texelu.
Možná bys mohl časem aplikaci modifikovat tak, aby se vypočtené texely uložily s alfou 1, zbytek s 0. A pak floodfilem distribuovat texely hran do okolí. Tím by se švy potlačily. _________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
|
mar
Založen: 16. 06. 2012 Příspěvky: 602
|
Zaslal: 6. únor 2017, 20:31:31 Předmět: |
|
|
Hmm, toho jsem se bál.
UVčka jsou už o půl texelu posunutá, kvůli tomu, že to tak posouvá driver.
Tím, co navrhuješ, se bohužel nic nevyřeší (mimochodem 1-texelový obal okolo okrajů clusteru už dělám - kvůli MSAA).
Problém je ten, že ty švy jsou prostě diskontinuity v uv (v lightmap space), takže posunutím se nic nevyřeší.
EDIT: můžeš zkusit parametr -t a zmenšit velikost lightmap texelu? a hlavně, můžeš postnout nějaký screenshot?
ještě můžeš zkusit zvýšit parametr -g, jestli to aspoň trochu nepomůže.
Poslední věc, co mě napadá, je že bys prostě kulaté objekty udělal stávající vertex metodou. |
|
Návrat nahoru |
|
|
VODA
Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 6. únor 2017, 20:53:10 Předmět: |
|
|
mar napsal: |
Tím, co navrhuješ, se bohužel nic nevyřeší (mimochodem 1-texelový obal okolo okrajů clusteru už dělám - kvůli MSAA). |
Mně se zdá, že ten okraj je ale bílý a proto tam vznikají ty švy. Kdyby na okraji byly pixely "ze vnitřku" trojúhelníku, tak by se vizuálně potlačilo. Ano, z blízka by stejně byly švy vidět.
Tady na tom obrázku je to vidět, kolem každé groupy je bílý okraj:
Jinak výsledek z této lightmapy je zrovna moc krásný, ale je to tím, že lightmapa je 2048x2048 a model malinký:
Ale aby sis nemyslel, je to pořád perfektní a nikdo jiný mi nebyl schopen takhle skvěle pomoci. _________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
|
mar
Založen: 16. 06. 2012 Příspěvky: 602
|
Zaslal: 6. únor 2017, 21:09:07 Předmět: |
|
|
Hmm, to vypadá spíš na nějaký bug, protože kraje lightmap mi normálně sedí dobře (když zapékám světlo) - navíc 2d projekci do lightmap space na hranách clusterů upravuji,
abych nepřelezl ven (plus offsetuji dovnitř).
Ale taky jsem si všimnul, že to je nějak divně světlé na krajích.
Mohl bys ještě zkusit vypnout blur (parametr -b) a zvýšit počet samplů (-s) řekněme na 2048? Sice to pak bude trvat výrazně dýl a bude to víc šumět, ale... Vlastně z té lightmapy to vypadá, že už jsi přesně toto udělal
Zkusím se na to podívat. V té lightmapě jsou opravdu vidět bílé okraje, takže to bude problém v něčem jiném. Děje se něco špatného na krajích clusterů. |
|
Návrat nahoru |
|
|
VODA
Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 6. únor 2017, 21:15:37 Předmět: |
|
|
Používám jen 32 samplů, protože to bohatě stačí. Ale zkusím dát více. Uvidíme. _________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
|
VODA
Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 6. únor 2017, 21:28:19 Předmět: |
|
|
Zajímavý je následující příklad. Žádné švy, přestože je objekt na lightmapě dosti fragmentovaný:
_________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
|
mar
Založen: 16. 06. 2012 Příspěvky: 602
|
Zaslal: 6. únor 2017, 21:38:29 Předmět: |
|
|
Mohl bys zkusit novou verzi? Něco jsem opravil. Link je stejný jako předtím.
Stejně se mi ale ty výsledné lightmapy na okrajích clusterů nezdají, mělo by to po fillu okrajů vypadat jinak... Ještě zapátrám.
Každopádně tahle nová verze (1.1) už mi světlé okraje nedělá. |
|
Návrat nahoru |
|
|
VODA
Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 6. únor 2017, 22:00:14 Předmět: |
|
|
Paráda, švy už nejsou skoro vidět. Takhkle se mi to líbí.
Jsi borec!
Tak, ještě dodělat ten export a budu maximálně spokojený. Fakt za to nic nechceš? _________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
|
mar
Založen: 16. 06. 2012 Příspěvky: 602
|
Zaslal: 6. únor 2017, 22:15:08 Předmět: |
|
|
Opravdu ne. Já tam ty švy vidím pořád a hlavně ty s tmavými okraji jsou hnusné. Navíc se mi zdá žes vypnul linear filtering?
Já ještě spokojený nejsem.
Mohl bys mi prosím někam uploadnout tu scénu s teapoty včetně commandline parametrů?
Doufám, že do alfy Sollertie ještě něco vylepším.
Hmm, ale když přimhouřím obě oči tak to snad nevypadá až tak strašně |
|
Návrat nahoru |
|
|
VODA
Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 6. únor 2017, 22:29:45 Předmět: |
|
|
Mám akorát debug obj z exporteru. Je to tedy přesně to, co vylezlo z AOGenu, ale v OBJ -> takže obsahuje duplicitní vrcholy/texturovací souřadnice, normály. texturovací souřadnice jsou ty sekundární (pro lightmapu)
http://vodasoft.xf.cz/repos/limap/gaia_export.obj
Command: AOGen.exe -f -a 2048 -t 0.25 -d 30.0 -s 32 -u <input.obj> <output.txt>
Délka parsku - 30 - u mé scény znamená 30 cm. Scéna je v cm.
Pro mě je to super. Ta scéna z teapoty je moc blízko. Až bude cca 2x-3x oddálená, tak tam ty švy neuvidíš. Ale nebudu se zlobit, když si s tím ještě pohraješ. A neboj, alfa Sollertie bude nejdřív za půl roku. Nemám na to moc čas... ale snažím se (a snažím se plánovat). _________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
|
mar
Založen: 16. 06. 2012 Příspěvky: 602
|
Zaslal: 6. únor 2017, 22:44:34 Předmět: |
|
|
Ok díky, to by mi mělo stačit, akorát budu muset flipnout normály.
Mimochodem s tím exportem, jak moc by ti pomohlo, kdybych to ještě trochu upravil a uložil ti řekněme ke každému vertexu
v trojúhelníku původní vertex index (sekvenční jak jdou v obj po sobě, ne původní vertex index pro face) ve stupním obj? |
|
Návrat nahoru |
|
|
VODA
Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 6. únor 2017, 23:00:10 Předmět: |
|
|
Myslím, že to nebudu potřebovat. Já si to už zoptimalizuji v exporteru, vyházím duplicity, reindexuji facy, meshe rozdělím na submeshe, aby mohl mít jeden mesh více lightmap, atp.
Spíš by mě zajímal popis atributu Lightmap texel size. Udává, jak velký bude texel po aplikaci textury na mesh? Nebo to chápu špatně? _________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
|
mar
Založen: 16. 06. 2012 Příspěvky: 602
|
Zaslal: 6. únor 2017, 23:10:25 Předmět: |
|
|
V podstatě ano, je to jakou plochu pokryje texel v lightmapě, resp.
texel size je kolik jednotek bude mít rozměr texelu v lightmapě.
Tzn. pokud je měřítko metr a texel size je 0.25, bude texel v lightmapě odpovídat (zhruba) 25 x 25 cm
Samozřejmě vzhledem ke clusterování toto platí pouze pro axial normály. U šikmých trojúhelníků se to lehce zdeformuje a bude tam trochu skew.
EDIT: tzn. čím menší texel size, tím větší detail lightmapy |
|
Návrat nahoru |
|
|
|