Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Juraj

Založen: 06. 12. 2007 Příspěvky: 189
|
Zaslal: 19. srpen 2009, 09:11:00 Předmět: Mipmapping |
|
|
Předem mého postu Vás všechny zdarvím,
narazil jsem na jeden problém a ani po několika hodinách googlení nejsem o nic moudřejší. Při vykreslení modelu se textura při oddálení kamery zdá být rozostřená, pro lepší představu sem dám streeny.
oddálení
přiblížení
Ještě uporozňuji že se rozhodně nejedná o chtěný effekt a spíše bych potřeboval radu čím by to mohlo být způsobeno.
Naposledy upravil Juraj dne 20. srpen 2009, 07:33:36, celkově upraveno 1 krát |
|
Návrat nahoru |
|
 |
Ladis

Založen: 18. 09. 2007 Příspěvky: 1537 Bydliště: u Prahy
|
Zaslal: 19. srpen 2009, 12:54:47 Předmět: |
|
|
Podle mě jde o mipmapping, tj. o použití méně detailních textur pro vzdálenější objekty. Řešení je více, vypnout mipmapping (jde o typ filtrování textur), příp. jej lépe nastavit, např. posunout jeho bias nebo použít nějake anizotropní filtrování nebo co. _________________ Award-winning game developer |
|
Návrat nahoru |
|
 |
Juraj

Založen: 06. 12. 2007 Příspěvky: 189
|
Zaslal: 19. srpen 2009, 14:08:18 Předmět: |
|
|
Díky za odpověd, tohle slovíčko "mipmapping" jsem přesně hledal.
Nyní pár dalších otázek:
1) Pokud vezmu nějaké obecné řešení, jaké všechny parametry mají vliv na počet úrovní textury?
2) Jak mipmaping obecně pracuje, probýhá výpočet textury až v sharderu? |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 20. srpen 2009, 19:08:58 Předmět: |
|
|
1) Počet úrovní mipmap závisí na velikosti první úrovně, takže když máš třeba texturu 64x32, tak další mipmapy jsou 32x16, 16x8, 8x4, 4x2, 2x1, 1x1. Mipmapy musí být zadány buď všechny nebo jen první úroveň (potom ale nepůjde zapnout mipmap filtr).
2) Ne, mipmapping provádí texturovací jednotka a má tuto funkci přímo v křemíku. Implementace v shaderu je možná, ale nedělá se, protože je to dost náročné.
Mipmapa se určuje podle gradientu texturových koordinátů (gradient = spočítá parciální derivaci v daném pixelu pro každou osu). Tzn. čím větší je rozdíl koordinátů ve dvou sousedních pixelech, tím menší se použije mipmapa. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
Vilem Otte

Založen: 18. 09. 2007 Příspěvky: 462 Bydliště: Znojmo - Sedlesovice, Kravi Hora
|
Zaslal: 20. srpen 2009, 23:15:06 Předmět: |
|
|
A pokud chceš dosáhnout toho, aby se ti textura nerozmazávala - zapni anizotropní filtry.
Případně můžeš zkusit Summed area tables filtry - ale ty osobně doporučuju jen při VSM, nebo pokud máš ray tracer (kde se mi zdá rectim in parvo mapping = anisotropic filtering mnohem náročnější než použít Summed area tables, ty však často mají i lepší výsledek). _________________ Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration. |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 21. srpen 2009, 12:02:12 Předmět: |
|
|
Nebo může použít texture LOD bias. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
Ladis

Založen: 18. 09. 2007 Příspěvky: 1537 Bydliště: u Prahy
|
Zaslal: 21. srpen 2009, 14:58:51 Předmět: |
|
|
Eosie napsal: |
Nebo může použít texture LOD bias. |
To pak ale může způsobit zrnění/vlnění textury. _________________ Award-winning game developer |
|
Návrat nahoru |
|
 |
VladR
Založen: 30. 07. 2007 Příspěvky: 1322 Bydliště: Greater New York City Area
|
Zaslal: 25. srpen 2009, 17:43:13 Předmět: |
|
|
No a este stoji za uvahu, ci vobec to najvyssie rozlisenie textur niekedy niekto uvidi, teda ci 3d objekt bude niekedy tak blizko ku kamere, ze sa vobec nulta uroven mipmapy zobrazi.
Znie to mozno absurdne, ale vacsina textur je obvykle projektovana na take rozlisenie, ze ho ani pocas hry nikdy neuvidis. Zvaz zmenu rozlisenia.
Pokial napr. vies, ze ten objekt bude cely cas v istej vzdialenosti, mozes rovno lowresnut texturu tak, aby nedoslo k prepnutiu mipmap - a tym padom to bude vyzerat ostrejsie, ziskas vykon, skratis dobu nacitavania textur a usetris VRAM- proste "same socialni jistoty a pozitiva"  |
|
Návrat nahoru |
|
 |
]semo[

Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 26. srpen 2009, 07:08:11 Předmět: |
|
|
A ještě je tu jedna věc. Anisotropní filtrování je fajn, ale zase žere víc výkonu a mnohdy stačí jeden hezký trik. Pokud používáš DDS textury (jestli ne, vážně to zvaž), můžeš při exportu ve Photoshopu zapnout doostření pro mipmapy. Běžně se to v praxi používá. _________________ Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory |
|
Návrat nahoru |
|
 |
Ladis

Založen: 18. 09. 2007 Příspěvky: 1537 Bydliště: u Prahy
|
Zaslal: 26. srpen 2009, 08:56:56 Předmět: |
|
|
Tak i bez použití DDS máš možnost nahrát všechny úrovně mipmap ručně namísto spočítání těch v nižších rozlišení automaticky (ano, ty jsou oproti originálu jen víc a víc rozmazané). _________________ Award-winning game developer |
|
Návrat nahoru |
|
 |
]semo[

Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 27. srpen 2009, 07:58:37 Předmět: |
|
|
když je ale přiostříš, tak to neni vidět :) _________________ Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory |
|
Návrat nahoru |
|
 |
frca

Založen: 28. 07. 2007 Příspěvky: 1561
|
|
Návrat nahoru |
|
 |
VladR
Založen: 30. 07. 2007 Příspěvky: 1322 Bydliště: Greater New York City Area
|
Zaslal: 27. srpen 2009, 09:22:18 Předmět: |
|
|
Za pokus to ale stoji, ked uz nic ine, tak sa daco nauci  |
|
Návrat nahoru |
|
 |
]semo[

Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 27. srpen 2009, 10:51:58 Předmět: |
|
|
frca: obyčejný (nejrychlejší a nejpoužívanější) zmenšení obázku sníží jeho kvalitu, zdá se rozosrřenější, nebo míň kontrastní. V ovládacích panelech od grafický karty to můžeš podchytit, ale každý uživatel tam má default a tak má pořád hnusný. Řešení je, generovat ty mipmapy softwarově buď ve vlastním kódu (tzn. zapojíš nějaký sofistikovanější algoritmus pro zmenšení obrázku), nebo (lépe) použiješ nástroj. Jedinej co znám je Photoshop+NVidia DDS plugin, kterej to umí doostřit. Výsledek je v kontextu celý scény opravdu lepší a nestojí to žádný výkon! Myslím, že tenhle malý trik je dnes už na profi úrovni standard. Freeware teamy to většinou neznají, ale neni problém to používat rovněž. _________________ Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory |
|
Návrat nahoru |
|
 |
Ladis

Založen: 18. 09. 2007 Příspěvky: 1537 Bydliště: u Prahy
|
Zaslal: 27. srpen 2009, 11:56:10 Předmět: |
|
|
Jako možnou nevýhodu lze považovat větší velikost textur na disku (obsahují navíc mipmapy) a nutnost použít komerční program. Já jen chtěl poukázat na to, že to nezávisí na konkrétním programu, že jde bez problému si vygenerovat lepším filtrem ty mipmapy a nahrát je do 3D API ručně. _________________ Award-winning game developer |
|
Návrat nahoru |
|
 |
|