I have a weird problem with pbuffers on linux with nvidia hardware. When I use glReadPixels or glCopyTexImage2d, the bottom row and right column of the image is garbled.
I have a small example here:
http://www.simula.no/~thomasse/pbuffer_bug.jpg
This is taken from the NvSDK pbuffer example. The source code for this example with makefile for linux is here:
http://www.simula.no/~thomasse/simple_pbuffer.tgz
This problem occurs with all versions of the driver that supports pbuffers (including 3123), on GF2 and GF3 on various linux distributions.
Any ideas?
OldMan
September 20, 2002, 2:53am
2
Put this question at Advanced forum. Maye the NVIDIA guys read it.
I’ve tried the pbuffer sample and experienced the same problem
(GeForce2 + 31.23).
Have you already submitted a bug description ?
jra101
September 22, 2002, 8:33am
4
This is a known issue and should be fixed in a future driver release.
Husted
October 3, 2002, 1:38am
5
Hi,
I downloaded you example - you forget to set PACK_ALIGNMENT to 1 before reading back the texture (Although, this will not solve the problem!) - I’m also waiting for this bug to be fixed…
EDIT:
jra101 - are you saying this is fixed for future releases or that this needs to be fixed for future releases?
– Niels
[This message has been edited by Niels Husted Kjaer (edited 10-03-2002).]
jra101
October 3, 2002, 10:25am
6
I’m saying it will be fixed in a future release
heath
October 11, 2002, 6:40pm
7
To solve this problem (temporarily) Although not perfectly. I do the following.
glBindTexture(GL_TEXTURE_RECTANGLE_NV,m_PBufferTexObject);
glBegin(GL_QUADS);
{
#ifdef linux_x86
glTexCoord2i(0, 1); glVertex2i(0,0);
glTexCoord2i(gCanvasWidth()-1, 1); glVertex2i(gCanvasWidth(),0);
glTexCoord2i(gCanvasWidth()-1, gCanvasHeight()-1); glVertex2i(gCanvasWidth(),gCanvasHeight());
glTexCoord2i(0, gCanvasHeight()-1); glVertex2i(0,gCanvasHeight());
#else
glTexCoord2f(0.0f, 0.0f); glVertex2f(0.0f,0.0f);
glTexCoord2f(gCanvasWidth(), 0.0f); glVertex2f(gCanvasWidth(),0.0f);
glTexCoord2f(gCanvasWidth(), gCanvasHeight()); glVertex2f(gCanvasWidth(),gCanvasHeight());
glTexCoord2f(0.0f, gCanvasHeight()); glVertex2f(0.0f,gCanvasHeight());
#endif
}
glEnd();
glDisable(GL_TEXTURE_RECTANGLE_NV);
Hope this helps,
Heath.
[This message has been edited by heath (edited 10-11-2002).]
system
Closed
October 19, 2021, 6:54pm
8
This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.