NV_pixel_data_range and pbuffer

Guys!
We on linux don’t have famous RTT. but I think that it can be done using PDR and pbuffer. Maybe someone already done this?
so I init PDR in this statement
pdr_memory=(unsigned char )glXAllocateMemoryNV( 8006004sizeof(GLubyte), 0.0f,1.0f,1.0f );
if (pdr_memory==NULL)
printf("PDR memory allocation failure
");
glEnableClientState( GL_WRITE_PIXEL_DATA_RANGE_NV );
glPixelDataRangeNV(GL_WRITE_PIXEL_DATA_RANGE_NV,8006004*sizeof(GLubyte),pdr_memory );
ok but I need to assign pdr pointer to pbuffer framebuffer. How to make this? And after that I make texture.
glGenTextures(1, &texobj);
glBindTexture(GL_TEXTURE_RECTANGLE_NV, texobj);
glEnable(GL_TEXTURE_RECTANGLE_NV);
glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexEnvi(GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
// Copy in RGBA format to get the texture’s alpha channel.
glEnable( GL_WRITE_PIXEL_DATA_RANGE_NV );
glCopyTexImage2D(GL_TEXTURE_RECTANGLE_NV, 0, GL_RGBA, 0, 0, 800, 600, 0);
glDisable( GL_WRITE_PIXEL_DATA_RANGE_NV );

But finnaly I got only 6 fps ((

NV_PDR doesn’t work in Linux - under both 41.91 & 43.xx drivers. Probably, it’s one of the problems.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.