Steps3d - oktató - szimulációja mélységélesség

Az egyik legegyszerűbb és gyönyörű speciális effektusok, hogy könnyen hozzá a program egy úgynevezett mélységi rezkozti (mélységélesség-mező).

Ez a fogalom összefügg azzal, hogy a valódi optikai eszköz (azaz a készülék, amelynél a lencse átmérője nagyobb, mint nulla) nem lehet egyidejűleg tartsa az összes objektum a középpontban.

Mindig bizonyos objektumok (elhelyezkedik egy adott - gyújtótávolság - a távolság) lesz a középpontban, vagyis jelenik meg egyértelműen, és tárgyak, amelyek sokkal közelebb vagy távolabb, mint a távolság lesz életlen, azaz Ezek elmosódott lesz. A nagysága ezt a blur attól függ, mennyi távolság eotogo objektum eltér a gyújtótávolság.

Törvényei szerint az optika van összefüggés a távolság a lencse „premnika”, és a távolság a lencse és a tárgy, a MDM téma fókuszban van.

1. ábra: A munka fix objektív.

Ez az arány adja meg a következő képlet, a leírásban után u és v jelöli a távolság a lencse és a „vevő” és a tárgy, és F - az úgynevezett fokusnoeo lencse.

Ha intézkedik a felületet egy d távolságra a lencsét, akkor pont a „vevő” illeszkedik a kör a gépen - így nyzvaemy Circle Of Confusion (COC).

Van egy általános képletű megszerzésének COC átmérőjű lencse paraméterek f. és a fókusztávolság dfocus.

Ahhoz azonban, hogy a gyakorlatban ez a formula elég bonyolult és mi dlaee fog támaszkodni sokkal egyszerűbb megközelítés, a könyvben tárgyalt ShaderX ShaderX 2. és 3..

Objektív ingatlan leírjuk csak két érték - gyújtótávolság (focalDistance), és hogyan mértékben razmychtosti objektum távolságtól függ, hogy a fokális eltérés (focalRange).

Ez lehetővé teszi közvetlenül a fragmens shader for z -coordinate (a megfigyelő koordinátarendszer) kiszámításához a fokát elmosása a fragmens (blur), és írni, hogy a alfa-csatornát a kapott kép.

A következőkben a megfelelő csúcsot és a fragmens shaderek.

A következő lépés az építési csökken a 4x4 izobarzheniya idők (használhatja bilineáris szűrés nem minden négy mintát a textúra) és elmosódott.

2. ábra A használata bilineáris interpolációval.

A következő lépés a szelektív elmossa az eredeti kép segítségével, mint egy ponthalmaz, amelynek eloszlása ​​a Poisson nazyaemoe lemezen.

A legegyszerűbb megoldás az, hogy elhomályosítja fok (blur) az eredeti kép alfa csatorna méretének szabályozására Adra Szűrőhöz - sugár van megadva blur * radiusScale.

Minőségének javítása érdekében, akkor megteszi az értékeket két textúrák - az eredeti és a csökkentett. A tömeg az egyes textúra határozza meg a mértékét blur az eredeti pont.

A végső lépés az, hogy elleni küzdelem úgynevezett szivárgó leletek - amikor egy fényes tárgy popdaet hogy kiszűrje szerinti másik pontot, és ad egy aura fény, bár ezek a kifejezések nagyon különböző mélységekben (és mértékét elmosódott).

A következőkben a megfelelő progrmmnaya végrehajtását.

Az alábbiakban a teljes forráskódot C ++ például történő használatának bemutatásához ezt a hatást.

Kapcsolódó cikkek