Akumulacioni bafer
Akumulacioni bafer (engl. Accumulation Buffer) je pojam iz računarske grafike. Predstavlja bafer koji za svaki piksel definiše tri komponente za boju i jedan za vidljivost (RGBA), mimo bafera za boju. Struktura ova dva bafera je slična, a razlika je u tome što ove četiri komponente akumulacionog bafera imaju opseg [-1,1] i tačnost im varira u zavisnosti od broja dodeljenih bitova za svaku komponentu. U akumulacioni bafer se crta tako što isti prilikom običnog crtanja nekog dela (ili cele) scene preuzima RGBA komponente, nad njima izvodi zadatu operaciju zadatom vrednošću, i pamti rezultate za svaki obrađeni piksel. Kad se završi sa crtanjem u njemu, sadržaj akumulaciog bafera se preuzima i koristi u iscrtavanju scene.
Ovaj bafer se koristi za postizanje specijalnih efekata poput Anti-Aliasing[1], dubinskog izoštravanja slike (engl. Depth of Field)[1], zamrljanosti pri pokretu (engl. Motion Blur)[1], za meke senke (engl. Soft Shadows) itd.
Princip rada[uredi | uredi izvor]
Načnin preslikavanja skupa piksela u akumulacioni bafer, ili akumulacionog bafera u neku drugi bafer, definišu dve komponente:
- operacija koja se izvodi nad datim pikselima, i
- vrednost jednostruke tačnosti (float) koja se tom operacijom primenjuje na RGBA komponentama
Moguće operacije su:
- Akumulacija - Rezultat množenja komponenti sa datom vrednošću se sabira sa sadržajem akumulacionog bafera
- Učitavanje - Rezultat množenja komponenti sa datom vrednošću se smešta u akumulacioni bafer
- Sabiranje - Dodaje datu vrednost svakoj komponenti akumulacionog bafera
- Množenje - Množi svaku komponentu akumulacionog bafera sa datom vrednošću
- Vraćanje - Prenosi sadržaj iz akumulacionog bafera u bafere u koje se trenutno piše. Svaka vrednost je takođe pomnožena sa datom vrednošću pre zapisa. Ovom prilikom se vrednosti sabijaju na interval [0,1].
Oznake[uredi | uredi izvor]
Značenje | OpenGL oznaka[2] |
---|---|
Akumulacija | GL_ACCUM |
Učutavanje | GL_LOAD |
Sabiranje | GL_ADD |
Množenje | GL_MULT |
Vraćanje | GL_RETURN |
Izvori[uredi | uredi izvor]
- ^ a b v SIGGRAPH 96 Courses Arhivirano na sajtu Wayback Machine (2. decembar 2008), Pristupljeno 28. 3. 2013.
- ^ OpenGL 4 Reference Pages, Pristupljeno 28. 3. 2013.
Spoljašnje veze[uredi | uredi izvor]
- O akumulacionom baferu na opengl.org Arhivirano na sajtu Wayback Machine (2. novembar 2008)
- Dokuemntacija za OpenGL