Frame buffer or Render Target, what's the difference?

Hi ! I wanted and explanation about those 2 terms. I’m confused.

For now, I’ve learned about frame buffer on WebGL fondamentals.
I used a lot of time render targets, basically any time I need to make some composition with effects as simple as opacity. But that seems to be not efficient.

Also, there is FBO, which is even more confusing, from what I understand FBO is a frame buffer used as textured just for storing and passing a bunch of data to a shader. (for particles for example)

So, what are those 3 terms, are they different ? and how / when to use them ?

Thanks !


  • A render target texture (RTT) is a texture that can be used for reading and writing (rendering to)
  • a RTT is a texture attached a the color target for a framebuffer (so the gpu memory space where pixels will be stored)
  • A FBO contains a color target and potentially a depth target as well

FB = Framebuffer object (so a framebuffer). It is the name of the OpenGL feature if you prefer