Crearea de filtre în benderul pixelului Adobe

Cu Pixel Bender, puteți implementa orice efecte. Această tehnologie ajută la îmbunătățirea performanțelor aplicațiilor RIA și este un instrument indispensabil pentru designerii tehnici.







Pixel Bender Toolkit este absolut gratuit, îl puteți descărca de la labs.adobe.com/technologies/pixelbender. PBT include un mediu de dezvoltare integrat cu suport pentru limbajul nativ și limba grafică, exemple de filtre, documentație.

Crearea filtrelor are loc în trei etape:

  1. Dezvoltarea algoritmului
  2. Înregistrarea algoritmului în PBT
  3. Exportați în octet

Această linie indică faptul că imaginea de intrare a src este de tip image4. Tipul imaginii 4 are 4 proprietăți: a (transparență), b (canal albastru), g (canal verde), r (canal roșu).

pentru că Vom extrage imaginea procesată pe primul pixel, ar trebui să specificăm tipul și numele pixelului procesat. În acest caz, pixelul dst va fi de tip pixel4.

Funcția evaluatePixel () va fi apelată pentru fiecare pixel. Dacă funcția nu întoarce variabilele, trebuie să specificați void. Pentru a afla ce pixel este procesat in acest moment, foloseste outCoord (), este o variabila de tip float2, un vector care are doua proprietati: X si Y. Functia sampleNearest (imagine, coordonate); returnează pixel (pixel4) în coordonatele imaginii specificate.

În linia dst = sampleNearest (src, outCoord ()), atribuim un pixel în imaginea src în coordonatele outCoord () X, outCoord (). După rularea filtrului (butonul Executare), vedem că imaginea nu sa schimbat, deoarece am corny copiat pixeli. Acum să încercăm să schimbăm această situație.







Nu este nici un secret faptul că puteți lumina imaginea prin mărirea valorilor canalului. În funcția evaluPixel scriem:

Apăsați butonul Executare și vedeți că imaginea a devenit mai ușoară. Acum încearcă să ne mișcăm imaginea cu 10 pixeli mai mari și 15 pixeli spre stânga. Pentru a face acest lucru, în evaluaPixel vom scrie:

Conform regulii svizlinga, care este pusă în aplicare în PB, va arăta astfel:

Așa cum probabil ați ghicit, axa ordonată este îndreptată în sus, axa abscisă este la stânga.

Acum, să umplem pixelii în coordonatele x mai mici de 50 de pixeli în coordonatele x = 50;

Noi scriem în funcția evaluatePixel:

Crearea de filtre în benderul pixelului Adobe

Încercați acum să creați o rază de lumină în imagine.

După cum sa menționat mai sus, pentru a face pixelul mai ușor, trebuie să măriți valoarea canalelor sale.

Luați coordonatele aleatoare ale fasciculului luminos, să zicem că acesta va fi parametrul

Să ne gândim la dimensiunea unei luminiscențe 200. Mai mult, este necesar să împărțim dimensiunea luminiscenței la distanța de la centru până la un pixel curent.

Crearea de filtre în benderul pixelului Adobe

Să presupunem că trebuie să facem 5x5 pixeli. Culoarea acestui pixel mare va fi luată din colțul din stânga sus. Pe măsură ce pixelii sunt traversați, vom împărți fiecare coordonate cu dimensiunea unui pixel mare, astfel încât îi știm numărul într-o matrice bidimensională (m, n). În continuare, înmulțiți m și n cu dimensiunea unui pixel mare pentru a cunoaște coordonatele colțului din stânga sus.

Crearea de filtre în benderul pixelului Adobe

Concluzie: cu PB, puteți implementa orice efecte. Ajută la îmbunătățirea performanțelor aplicațiilor RIA. Un instrument indispensabil pentru designerii tehnici. Învățând modul de procesare a imaginilor în Pixel Bender, veți economisi o cantitate mare de timp în viitor.

Serghei Flastar GONCHAR

Versiune imprimabilă







Articole similare

Trimiteți-le prietenilor: