Core Image je proširivi, u piksel precizni i nedestruktivni radni okvir za procesiranje i renderovanje slika za Mac OS X. Kao deo QuartzCore radnog okvira, on proširuje mogućnosti renderovanja Quartz-a pomoću plugin-zasnovane arhitekture za primenu filtera i efekata.
Core Image je dizajniran da apstrahuje proces manipulacije slikom na nivou piksela, što je čini dostupnom aplikacijama bez potrebe za dodatnim kodom specifičnim za hardver. Core Image radi tako što primenjuje Image Unit na podatke piksela date slike, što rezultira kreiranjem nove slike. Svaki Image Unit specifikuje filter, transformaciju, ili neki drugi efekat koji može da se primeni na podatke originalnih piksela bez modifikovanja originalnih podataka. Na ovaj način, Image Units nudi nedestruktivno editovanje slika.
Kao i Photoshop filteri, jedan Image Unit može da se primeni u kombinaciji sa drugima. Core Image može da kreira instrukcioni cevovod u letu tako da je potrebno da se primeni samo jedna kalkulacija na podatke piksela da bi se dobio efekat primene više Image Unit-a. To znači da više Image Units-a može da se primeni na sliku bez značajnog povećanja u vremenu procesiranja. Core Image koristi specijalni kompajler za kreiranje koda koji izvodi operacije na pikselima asocirane sa jednim ili više Image Units-a. Kod se zatim izvršava od strane procesora ili GPU-a grafičke kartice, tojest od strane onog koji će brže izvesti kalkulacije.
Kada je kompatibilni GPU dostupan, Core Image kompajler generiše komande koristeći podset OpenGL Shading Language-a (GLSL). Ako GPU podržava jezik senčenja (Shading Language), on će onda biti glavni izvršilac renderovanja za Core Image. Ako takav GPU ne postoji, kompajler će raditi u fallback modu procesora, generišući komande koje su prilagođene arhitekturi aktuelnog procesora. CPU fallback koristi sopsobnosti vektorskog procesiranja aktuelnog procesora ili više procesora, i on je višeprocesorski svestan. Iz toga sledi Thus da performanse Core Image-a zavise od GLSL sposobnosti GPU-a ili procesorske moći procesora. Sa podržanim GPU-om, većina efekata može da se renderuje u realnom vremenu ili skoro u realnom vremenu.
Preciznost piksela
Celokupno procesiranje piksela od strane Image Unit-a se izvodi u pre-multiplikovanom alfa (RGBA) kolornom prostoru, koji skladišti četiri kanala boje: crveni (red), zeleni (green), plavi (blue), i providnost (transparency, tojest alpha). Svaki kanal boje je predstavljen sa 32-bitnim brojem plutajuće tačke. To obezbeđuje izuzetnu dubinu boja, mnogo veću od one koju ljudsko oko može da vidi, pošto je svki piksel predstavljen sa 128-bitnim vektorom (četiri 32-bitna kanal boje). Za kolorne prostore sa manjom dubinom bita, model za izračunavanje plutajuće tačke koji koristi Core Image obezbeđuje izuzetne performanse, što je korisno kada se procesira više slika ili video frejmova.
Podržani grafički procesori
Bilo koji programibilni GPU koji podržava komande traženog Open GL Shader-a (GLSL) je sposoban da renderuje Core Image instrukcije. Apple je koristio sledeće grafičke kartice da podržavaju Core Image GPU procesiranje
Svaki GPU koji je sposoban da rukuje sa Core Image instrukcijama je takođe sposoban da izađe na kraj sa Quartz Extreme-om. Zahtevi za Core Image su veći nego za Quartz Extreme.
© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272 |
||