Tanulmány - dev, blog archive, adobe pixel bender
Adobe Pixel Bender. Egy új szintre képfeldolgozás vaku
A program a Pixel Bender mentett egy kiterjesztésű fájl „PBK”, akkor ezeket a fájlokat lehet közvetlenül letölteni szerdán, az Adobe Photoshop CS, vagy az Adobe After Effects CS. Vagy lefordíthatjuk kernel-file program „PBJ”, amely lehet betölteni és végrehajtani média FlashPlayer teljesítményét. Itt van egy fontos pont: ha létrehozunk egy alkalmazás fut a FlashPlayer környezetben, akkor nem férnek hozzá az összes funkciót a Pixel Bender Kernel nyelvet. Azt is teljesen hiányzik Graph Language nyelv támogatása (a részletes listát ezen korlátozások is megtalálhatók segítséget haladva Pixel Bender Toolkit). Most adok a program a munkadarab a Pixel Bender Kernel. Ez az üres kaphat bármikor, ha a menüpont kiválasztása „Fájl -> Új rendszermag”:
Az ilyen vektor adattípusok nagyon kényelmes, mert aritmetikai műveletek „túlterheltek”, és tudja, hogyan kell szorzás, osztás, add vektorok együtt. Itt érdemes megemlíteni swizzling működését. A lényege swizzling-és egy vektor, például a négy elem, azt akarjuk, hogy csak három, például az első, harmadik és negyedik. És akkor lehet összerakni egy új változó dimenzió 3, maguk az elemek felcserélhetők, például:
Azt mondja, hogy „DST” változó (a számítás eredménye a shader) kapunk eredményeként hívás sampleNearest funkciót. Mit jelent a sampleNearest? Mondhatnánk, hogy sampleNearest függvény egyszerűen elveszi a kép (az első argumentum) pixel az adott koordinátákat, de ez nem igaz. A számítógépes grafika, van olyan dolog, mint a mintavétel, illetve a mintavétel és értékének kiszámítását a minta alapján listán (bár ezt a kifejezést a mintavétel alkalmazható más területeken). Tegyük fel, hogy mi a feladata, „pull” textúra eredetileg formájában adják a referencia kép (mérete 200 x 200 képpont) felületén a nagyobb vagy kisebb. Itt nem tudjuk egyértelműen hozzárendelni minden egyes kimeneti képpont egy és csak egy bemeneti képpont (pixel nem elcsépelt elég). Ezért a mi feladatunk az, hogy „nyúlik”, vagy „zsugorodik” a kép, de olyan módon, hogy elkerüljék a káros melléktermékek (blur, pontatlanságok, stb.) Számos algoritmus megoldja ezt a problémát, de gyakran ez jön le, hogy mit veszünk egy adott koordináta nem egyetlen pixel, és néhány környező képpontok, és kiszámítása alapján színük pixel értékéből közepén helyezkedik el. Így a Pixel Bender három funkciója mintavételező és (is vannak változatai a funkciók hogy működnek a képek és a méret a pixelek a két, három és négy csatorna):
Funkciók sampleLinear minta és nem ugyanaz a dolog: kiszámítjuk a kapott szín alapján lineáris interpoláció a szomszédos színes pixel. A funkció sampleNearest egyszerűen veszi a szín egy pixel található, amely legközelebb áll a kért kimeneti koordináta. Ami outCoord () függvény ad vissza pixel koordináta, színes mostantól számítva. Ez azt jelenti, hogy ha fut a példaparancsfájlt adott nekem, hogy végre, mi lesz ennek eredményeként a kép, egy az egyben megegyezik a bemeneti kép. Nézzük ki. Ehhez a „Fájl” menü, akkor válassza ki az elemet „Load Image 1” és válassza ki bármilyen képet. Miután kattintson a „F5” gombra, akkor megjelenik, mint az várható volt, az eredeti kép (a kódot csak másolni a képen). Annak érdekében, hogy ellenőrizze, ha minden rendben van, akkor lehet módosítani a shader, például:
Elindítása után a shader elvégzésére, látni fogjuk, hogy az összes kimenő képet terület tele van kék. mert Azt rendelt összes kimeneti pixel szín által megadott RGBA-alkatrészek (adattípus kivitelező pixel4 vesz négy számot intervallumban nullától valaki az RGBA sorrendben). Most próbáld ezt a példát (amit kaptam, az 1. ábrán látható)
Itt vagyok ellenőrzése koordinátáit minden egyes bemeneti képpont. És, ha kap található a bal felső sarkában a tér egy oldalon 300px, akkor kiírja a pixel az eredeti kép. Ellenkező esetben a kimenet pixel van rendelve a vörös szín. A következő példa (lásd. Ábra. 2)
Úgy működik, két kép ugyanabban az időben. Ahhoz, hogy nézd meg, ki kell választania a „Fájl” menüpont „Load Image 2”:
És az alábbi képlet világosítani a képet:
Ha ezek után összeállítás mellé az swf fájl keletkezik az utolsó szakaszban PBJ-shader fájlt, majd elindítása után swf-film, azt látjuk, hogy a shader a kép, és ez változott (lásd. Ábra. 3.) került alkalmazásra.