PDA

View Full Version : Problems with WGL_TYPE_RGBA_FLOAT_ARB



olmeca
05-02-2005, 03:32 AM
Hi,

I have problems initalizing a color buffer with ChoosePixelFormatARB and WGL_TYPE_RGBA_FLOAT_ARB value. The ChoosePixel mehtod succeeds, but when I check the state with
glGetBooleanv( GL_RGBA_FLOAT_MODE_ARB, &state );
it says GL_FALSE ( float mode not enabled ).
Can somebody post a link or a snippet for initalizing the context with wglChoosePixelARB?
thx,
Benjamin

Java Cool Dude
05-02-2005, 05:05 AM
</font><blockquote><font size="1" face="Verdana, Arial">code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">#define PBUFFER_USE_DOUBLE_BUFFER 0x00000001
#define PBUFFER_RENDER_TO_TEXTURE 0x00000002
#define PBUFFER_TEXTURE_CUBE_MAP 0x00000004
#define PBUFFER_FORMAT_FLOAT 0x00000008
#define PBUFFER_RGBA 0x00000010
#define PER_CHANNEL_COLOR_BITS_16 0x00000020
#define PER_CHANNEL_COLOR_BITS_24 0x00000040
#define PER_CHANNEL_COLOR_BITS_32 0x00000080


bool GLPBuffer::initialize(int newWidth, int newHeight,
int newDepthBits, int newStencilBits,
int pBufferFormat)
{
//Check for pbuffer support
if(!GLEE_WGL_ARB_extensions_string

Java Cool Dude
05-02-2005, 05:14 AM
MAN!!!!
This is truly bothering me: how come every now and then this board classifies me as an unregistred user even though it clearly spells out that I'm LOGGED when I type my messages?
Anyway, here's a link (http://www.realityflux.com/abba/C++/Sample/) to my GLPBuffer set of classes.
Now to create a float 2D RGBA pBuffer, you need to initialize it this way:

if(!pixelBuffer.initialize(TCMSize,TCMSize, 24, 0,
PBUFFER_RGBA |
PBUFFER_FORMAT_FLOAT |

PBUFFER_RENDER_TO_TEXTURE))
return Logger::writeErrorLog("Failed");

olmeca
05-02-2005, 09:54 AM
hi, do i have to have a pbuffer to work with float buffers? Because in the spec of this extension, nothing is mentionend.

Brolingstanz
05-03-2005, 10:01 AM
how come every now and then this board classifies me as an unregistred user even though it clearly spells out that I'm LOGGED when I type my messages?jcd, try getting rid of the cpp logical or operators in your code block...

regards,
bonehead

Mikkel Gjoel
05-03-2005, 02:33 PM
olmeca - you can work with float-textures without using pbuffers. If you want a floating-point rendertarget, you need to use either frame-buffer-objects or pbuffers.

abzap - your pbuffer-class doesn't work for texture-rectangles, does it?

Is there a way to use pbuffer floatingpoint texture-rectangles that work on both ati/nv, or do I (still) need to check extensions? Specifically I'm looking to replace the current nvidia-specific:


iAttribs[niAttribs++] = WGL_TEXTURE_FORMAT_ARB;
iAttribs[niAttribs++] = (isFloat) ? WGL_TEXTURE_FLOAT_RGBA_NV : WGL_TEXTURE_RGBA_ARB;

iAttribs[niAttribs++] = WGL_TEXTURE_TARGET_ARB;
iAttribs[niAttribs++] = WGL_TEXTURE_RECTANGLE_NV;\\hornet
PS. yeah I know, fbo...