Leírás

3D grafikával kapcsolatos bejegyzések és cikkek. A Quadron Virtual Particle nevű game engine fejlesztése.

Stuff

Anything related to game development.

Contact: darthasylum at gmail dot com

Nemlineáris cikkek

Mi ezeknek a célja?

Leginkább az, hogy magyarul is elérhető legyen programozási anyag, olvasmányos formában.

A cikkek kódja GitHub-ról is elérhető. (*)-al jelölöm azt a cikket ami nemrégiben frissült.

A színek a nehézséget próbálják jelezni, de az, hogy egy cikk piros nem azt jelenti, hogy csak a profiknak szól!

 

 

 

 

 

 

 

 

Hörcsög (Adobe Flash szükséges)

The Asylum

3D grafikával kapcsolatos bejegyzések és cikkek. A Quadron Virtual Particle nevű game engine fejlesztése.

Friss topikok

Címkék

HTML

Subpixel Morphological Anti-aliasing

2012.10.14. 16:16 | darthasylum | Szólj hozzá!

Úgy hozta az Erő, hogy le kellett implementálnom a Crysis 2-ben is alkalmazott SMAA-t. Mint tudjuk, az MSAA (multisample anti-aliasing) nem működik jól a deferred renderinggel, ezért találták ki azt, hogy akkor egy postprocess lépésben simítsuk el az éleket. Ez a technika annyira aktuális, hogy az NVidia driverekben hardveresen le is van implementálva (FXAA), bár a minösége megkérdőjelezhető, ugyanis mindent antialiasol, azt is amit nem kéne.

Na de mi is ez a SMAA? A hasonló módszerekhez képest megpróbálja a lehető legpontosabban rekonstruálni az éleket, és kiszámolni a lefedettséget (coverage). Sőt, ezt úgy csinálja, hogy a már élsimított képet nem rontja le.

Az 1x-es SMAA egy sima postprocess technika, azaz kér egy képet és élsimítja, semmi egyéb nem kell neki. Átlagos képekre teljesen jól működik ez is, viszont ha már vonalakat is kell élsimítani, akkor problémái vannak. Shader Model 3 mindenképpen kell neki, bár OpenGL-ben meg lehet buherálni, hogy GLSL 1.2-vel is menjen, de úgy nem ad olyan szép eredményt (és kell neki egy bemelegedési idő, amíg kiforgatja a ciklusokat).

A minőséget tovább lehet javítani a temporal supersampling nevű módszerrel, ami annyiból áll, hogy az előző frame eredményét felhasználja az aktuálishoz. Ehhez a jelenetet kicsit fel kell rázni (egyszer jobbra egyszer balra), majd az ezekből kapott élsimított képeket összeblendelni a pixelsebesség függvényében. Huhh. Azaz kell hozzá velocity textúra (amit amúgyis megcsinálnál mondjuk a motion blur miatt) és ajánlott a multiple render target support is.

Igen meghökkentő, hogy az így kapott SMAA T2x technika erősen közelíti a 16-os MSAA-t!! (bal: MSAA, jobb: SMAA)

msaa_vs_smaa.jpg

És itt még nincs is vége a bulinak, ugyanis ez még tovább javítható egy 2x-es MSAA-val, amit értelemszerűen nem csináltam már meg, így kapva az SMAA 4x-et.

A bejegyzés trackback címe:

https://darthasylum.blog.hu/api/trackback/id/tr994847983

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.