PBuffers

BlitzMax Forums/BlitzMax OpenGL Programming/PBuffers

What extensions are needed to use pbuffers, how common are these available and can you use them to render to a pbuffer and use the pbuffer to render to another texture/backbuffer?

Does this help...
http://oss.sgi.com/projects/ogl-sample/registry/ARB/pixel_buffer_object.txt

It seems to refer to using GlReadPixels and such ... way slow ? are these not as fast as rendering to the backbuffer?

Speaking of PBuffers...I was at the OpenGL all-day event at this year's Game Developer Conference (GDC), and OpenGL 2.0 introduces a replacement for PBuffers, namely FrameBuffers. In addition to being easier to use, they're also much faster than PBuffers.

I wonder if BRL will update the OpenGL module to 2.0 once the OpenGL2.0 drivers are released (and stabilized). I guess there is no reason we can't do it ourselves, but it would be cool if the official OpenGL module ended up supporting 2.0. There are a lot of nice new features.

Ken

I think glReadPixels is only slow when the source/target is system RAM. Otherwise it's pretty much just a memcpy in video RAM.

I don't know how common PBuffers are. My 6600GT has every kind of buffer supported by OpenGL, but I was a bit surprised that my R9000M has only the bare minimum (it doesn't even have the LEFT/RIGHT buffers that you can sometimes use for feedback effects, and my old TNT2 had them).

Is the memcopy in videoram performed by the cpu or gpu?

the OpenGL module won't change as it is only 1.2

For anything above the pub.glew is used so an update of glew would be needed ...

Is the memcopy in videoram performed by the cpu or gpu?

It depends on the drivers, but I reckon GPU in almost all cases.

I second an update to glew, because the most recent version includes that nice render-to-texture extension :)