Акумулациони бафер

Акумулациони бафер (енгл. Accumulation Buffer) је појам из рачунарске графике. Представља бафер који за сваки пиксел дефинише три компоненте за боју и један за видљивост (RGBA), мимо бафера за боју. Структура ова два бафера је слична, а разлика је у томе што ове четири компоненте акумулационог бафера имају опсег [-1,1] и тачност им варира у зависности од броја додељених битова за сваку компоненту. У акумулациони бафер се црта тако што исти приликом обичног цртања неког дела (или целе) сцене преузима RGBA компоненте, над њима изводи задату операцију задатом вредношћу, и памти резултате за сваки обрађени пиксел. Кад се заврши са цртањем у њему, садржај акумулациог бафера се преузима и користи у исцртавању сцене.

Овај бафер се користи за постизање специјалних ефеката попут Anti-Aliasing[1], дубинског изоштравања слике (енгл. Depth of Field)[1], замрљаности при покрету (енгл. Motion Blur)[1], за меке сенке (енгл. Soft Shadows) итд.

Принцип рада уреди

Начнин пресликавања скупа пиксела у акумулациони бафер, или акумулационог бафера у неку други бафер, дефинишу две компоненте:

  • операција која се изводи над датим пикселима, и
  • вредност једноструке тачности (float) која се том операцијом примењује на RGBA компонентама

Могуће операције су:

  • Акумулација - Резултат множења компоненти са датом вредношћу се сабира са садржајем акумулационог бафера
  • Учитавање - Резултат множења компоненти са датом вредношћу се смешта у акумулациони бафер
  • Сабирање - Додаје дату вредност свакој компоненти акумулационог бафера
  • Множење - Множи сваку компоненту акумулационог бафера са датом вредношћу
  • Враћање - Преноси садржај из акумулационог бафера у бафере у које се тренутно пише. Свака вредност је такође помножена са датом вредношћу пре записа. Овом приликом се вредности сабијају на интервал [0,1].

Ознаке уреди

Значење OpenGL ознака[2]
Акумулација GL_ACCUM
Учутавање GL_LOAD
Сабирање GL_ADD
Множење GL_MULT
Враћање GL_RETURN

Извори уреди

  1. ^ а б в SIGGRAPH 96 Courses Архивирано на сајту Wayback Machine (2. децембар 2008), Приступљено 28. 3. 2013.
  2. ^ OpenGL 4 Reference Pages, Приступљено 28. 3. 2013.

Спољашње везе уреди