Framebufferobjekt

Frame buffer object (FBO) är en förlängning av OpenGL -arkitekturen för flexibel rendering utanför skärmen, inklusive rendering till textur. Att ersätta utgångsmålet från skärmbufferten med FBO kan användas för att tillämpa alla sorters filter och efterbehandlingseffekter. Detta liknar modellen för renderingsmål i DirectX . Den används i OpenGL för effektivitet och användarvänlighet. FBO kräver inte skapandet och bytet av renderingskontexter, som är plattformsberoende, och det är också en snabbare operation än pbuffer [1] .

Användning

Den har två huvudsakliga användningsområden: efterbearbetning av den resulterande bilden och att kombinera olika scener. Till exempel:

  1. Den renderade bilden fångas och skickas till fragment shaders eller andra manipulationer. Detta möjliggör många av de för närvarande populära grafiska effekterna, inklusive oskärpa och bloom .
  2. Kan användas för att se andra scener. Till exempel visar TV:n i huset utsikten från den andra kameran. Scenen på TV:n kan renderas via FBO till en textur, som sedan appliceras på TV:ns yta. Detta kallas Render to Texture (RTT) [1] .

Fördelar jämfört med andra metoder

Arkitektur

För att använda en FBO skapas en instans av den. Efter det finns det flera anslutningar, en av dem är valet av mottagaren, antingen texturen eller renderingsbufferten .

Exempel:

Anteckningar

  1. 1 2 Boreskov, 2006 .

Litteratur

Länkar