OpenGL Texture Performance Question

Started by
3 comments, last by nareshn2008 15 years, 11 months ago
Hi Let me describe my question. I have 2D drawing and 3D drawing using OpenGL in Windows. I have one 2D texture that displays images from my webcam using glTexSubImage2D function.It is displaying images at 25 frame/sec. I am drawing some 3D objects On texture. Everything works fine but i am using lot of CPU + RAM for all this process. I am updating 1.3 MP data in every frame for 25 frame/second. So Is there any method that i can do faster like GDI drawing StretchDIBits functions ?
Advertisement
How about using PBOs? (pixel buffer objects).
As idinev mentioned, try to load the video stream directly into a PBO, instead of using the system memory to store the video stream. Then, copy the pixel data from the PBO to the texture by using glTexSubImage2D().

On my ATI card, I got ~790 MB/s transfer rate with PBO and ~250 MB/s without PBO. It is 3 times more throughput.

Here is my test program. Test yourself:
pboUnpack.zip
Hi Guys

Thanx for reply.. Let me try with PBO and let you know result..


Thanx
Hi songho

I had test PBO. But my graphic adaptor is not support PBO. Without PBO is using 50 to 60 % CPU for displaying 1024x1024 texture. Because i had released my software using glTexSubImage2D functions all users are using OnBoard Graphic Controller like Intel, and onboard graphic will not support some extensions.

So i need some lower level API to do this job faster.

This topic is closed to new replies.

Advertisement