Some question about PBO(Pixel Buffer Object)

My program need create many PBO objects(>10),and every object will allocate a huge memory,I’m not sure it is viable or not,I had below problem need to be quite clear:

  • How many PBO objects I can create in a program?Can I create 20,30,or more?What is th e most factor that restrict the number?Is it caused by display card on board memory,or system memory?

  • What is the maximum memory size I can allocate for a PBO object?I need allocate 1.5M-2M memory for every object,can I do it? also,what factor restrict it?

  • Whether the memory address returnd by “glMapBuffer()” is constant? I means whether a PBO object is bound with a fixed memory address,and “glMapBuffer()” always return the address;

Any one can help me?Thanks!

PBOs are used to transfer data from or two OpenGL. By their nature, they aren’t per-instance data unless each instance needs to constantly transfer data from/to OpenGL. I don’t know what kind of usage pattern you have that would cause the particular need you describe. Could you elaborate on this?

What is the maximum memory size I can allocate for a PBO object?I

Implementation-dependent.

Whether the memory address returnd by “glMapBuffer()” is constant?

No.