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.