Obiect Framebuffer

Frame buffer object (FBO) este o extensie a arhitecturii OpenGL pentru randarea flexibilă în afara ecranului, inclusiv redarea la textură. Înlocuirea țintei de ieșire din memoria tampon de ecran cu FBO poate fi folosită pentru a aplica tot felul de filtre și efecte de post-procesare. Acesta este similar cu modelul țintelor de randare din DirectX . Este folosit în OpenGL pentru eficiență și ușurință în utilizare. FBO nu necesită crearea și comutarea contextelor de randare, care sunt dependente de platformă, și este, de asemenea, o operațiune mai rapidă decât pbuffer [1] .

Utilizare

Are două utilizări principale: post-procesarea imaginii rezultate și combinarea diferitelor scene. De exemplu:

  1. Imaginea redată este capturată și transmisă la fragment shaders sau alte manipulări. Acest lucru permite multe dintre efectele grafice populare în prezent, inclusiv estomparea și înflorirea .
  2. Poate fi folosit pentru a vizualiza alte scene. De exemplu, televizorul din casă arată vederea de la a doua cameră. Scena de pe televizor poate fi redată prin FBO într-o textură, care va fi apoi aplicată pe suprafața televizorului. Aceasta se numește Render to Texture (RTT) [1] .

Avantaje față de alte metode

Arhitectură

Pentru a utiliza un FBO, este creată o instanță a acestuia. După aceea, există mai multe conexiuni, una dintre ele este alegerea destinatarului, fie textura , fie bufferul de randare .

Exemplu:

Note

  1. 1 2 Boreskov, 2006 .

Literatură

Link -uri