The following code works well with (some) ATI cards.
glActiveTextureARB(0);
int vp[4];
glGetIntegerv( GL_VIEWPORT, vp );
// framebuffer-backup
glBindTexture( GL_TEXTURE_2D, m_FramebufferTexture[0] );
glCopyTexSubImage2D( GL_TEXTURE_2D, 0, 0,0, vp[0], vp[1], vp[2],vp[3]);
m_FramebufferTexture[0] is a texture with dimensions [2^n,2^m] ( 2^n >= screenwidth > 2^(n-1) … ) and was created with:
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, tex_width, tex_height,
0, GL_RGBA, GL_UNSIGNED_BYTE,0);
then I use this texture to draw a quad on the entire screen.
I couldn’t make this code run with my NVIDIA ( NV35 ). The screen just shows the previosly bound texture.
my settings:
- windows with qt
- 32bpp desktop
- glwindow with 8 bit alpha
I have no idea what I should try now.