OpenGL raw

Started by
4 comments, last by dslprog 20 years ago
I have a texture in RGBA mode, but instead of color values, I''ve got 32 bit directions on it. I need to draw it on the frame buffer exactly as is, without any filter nor clamping. I use glReadPixels to read the frame buffer but when I do it, I don''t obtain the same pixels (32 bit directions), and that''s very bad, I think I''ve disabled everything that modifies the pixels: glDisable(GL_LIGHTING); glShadeModel(GL_FLAT); glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_DECAL); glTexImage2D(...,GL_NEAREST); // MIN and MAG filters But I''ve read that glReadPixels does some pixel operations before storing the data to the client memory. Is there any way to prevent OpenGL to do such operations?
Advertisement
Have you checked if you''re rendering in 16 or if the textures are stored in 16 bit? If they are, you''ll lose some precision hence your problem.

Also, I''m sure it''s possible to just read the texture data directly. Might be not, but I''m pretty sure it is.
The textures are in 32 bpp (RGBA) 8 bit per component.
quote:Original post by dslprog
The textures are in 32 bpp (RGBA) 8 bit per component.


... maybe your application is running at 16 bpp. I mean - meaby your data buffer (not the texures) is set to 16 bpp and that''s why you lose the precision?

-----------------


... you got me on my knees, Layla
___Quote:Know where basis goes, know where rest goes.
I''m sure my application is running at 32 bpp. I''m using a PBuffer to render the scene, but I''ve configured it also at 32 bpp. Anybody knows if it''s possible to store 32 bit directions in a texture using OpenGL, drawing it, and then obtain the actual values?
... you know what? I suggest that you should visit www.opengl.org - you''ll find there the best OpenGL related forum !
___Quote:Know where basis goes, know where rest goes.

This topic is closed to new replies.

Advertisement