DIFF B/w FBO and FRAMEBuffer

Started by
2 comments, last by karwosts 13 years, 1 month ago
Hi All,

Recently i started to working on FBO, i am bit confused with FBO and Framebuffer.This may a very basic question but i hope this will useful for a beginner who start working on FBO - RTT.


Question 1:

What is the difference between FBO and Framebuffer ?

Question 2:

Where it will exist either in RAM or VRAM?

Question 3:

If we are rendering to Texture using FBO,Is it possible to display the contents of FBO just by calling swapbuffers()

Question 4:

Is any other ways are there to take the FBO (Off Screen Buffer Content) to display buffer other then Framebufferbilt functionality,If so which one is faster ?

Question 5:

Please suggest me the direct way to show the FBO content on to the screen ?

Thanks in Advance,
Advertisement

Question 1:
What is the difference between FBO and Framebuffer ?
[/quote]
Not sure what you mean, FBO just means framebuffer object, it's the basic opengl offscreen framebuffer, I don't understand in what context you want to know the difference.


Question 2:
Where it will exist either in RAM or VRAM?
[/quote]
That's up to your driver to decide. Probably vram, though it could be swapped if the driver wants to.


Question 3:
If we are rendering to Texture using FBO,Is it possible to display the contents of FBO just by calling swapbuffers()
[/quote]
No.


Question 4:
Is any other ways are there to take the FBO (Off Screen Buffer Content) to display buffer other then Framebufferbilt functionality,If so which one is faster ?
[/quote]
Just use glBlitFramebuffer, that's what it's there for.


Question 5:
Please suggest me the direct way to show the FBO content on to the screen ?
[/quote]
Same as #4.


http://www.opengl.org/wiki/Framebuffer_Object
[size=2]My Projects:
[size=2]Portfolio Map for Android - Free Visual Portfolio Tracker
[size=2]Electron Flux for Android - Free Puzzle/Logic Game


Question 1:
What is the difference between FBO and Framebuffer ?

Not sure what you mean, FBO just means framebuffer object, it's the basic opengl offscreen framebuffer, I don't understand in what context you want to know the difference.

HI Karwosts,

Thanks for your quick reply.My intension is to understand FBO without having any doubts.sorry my english is not that much good.



The reason for asking the above Question:

If i am using Double buffering,

1) How many FBO (off screen buffer) we can create?
2) how openGL know this is the buffer to be display.
3) Is the display buffer is independent from display buffers?


Question 3:
If we are rendering to Texture using FBO,Is it possible to display the contents of FBO just by calling swapbuffers()
[/quote]
No.

If i am not wrong,
1) Normally double buffering means while front buffer displaying contents and back buffer will be ready with next set of contents to be display.Once swap buffers is called it will
display the contents in the back buffer.My question is in this case back buffer (off screen buffer) how it is displaying the content in the back buffer by calling swap buffers.
Here is the confusion starts .If FBO is openGL buffer why it wont work with swap buffer ,why do we need bllit functionality here.

Thanks in advance
[/quote]

If i am using Double buffering,

1) How many FBO (off screen buffer) we can create?
[/quote]
Very many, probably unlimited, or at least way more than you will need. There's no specific number limit, you'll just be restricted by your graphics hardware and system memory limitations.


2) how openGL know this is the buffer to be display.
[/quote]
When you have a double buffering setup, OpenGL creates two memory sections, the "front buffer" and the "back buffer". These always exist no matter how many FBOs you create, and are separate from them. When you swap buffers, it always swaps between the back buffer and the front buffer. When you create another framebuffer object (FBO), this defines a new region of memory that is not associated with the front/back buffers. Things you draw to this FBO do not appear in the front/back buffer.

That's why when you're done rendering to your FBO, you have to blit the color information from the FBO to the "back buffer". Because you can't change what surface gets swapped onto the screen, you have to copy whatever you want to appear into the special memory section that is the backbuffer.


3) Is the display buffer is independent from display buffers?
[/quote]
Don't understand this, but hopefully my above answer has helped you.

Read over the link I posted at the bottom of my first reply, that has some good info. Also the red book describes this all in detail if you're interested in picking up a copy.
[size=2]My Projects:
[size=2]Portfolio Map for Android - Free Visual Portfolio Tracker
[size=2]Electron Flux for Android - Free Puzzle/Logic Game

This topic is closed to new replies.

Advertisement