View Full Version : framebuffer object with multisample
09-27-2007, 11:40 AM
I have trouble with attaching a multisampled render buffer to a fbo. The error message is GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT. Here is the code:
glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFE R_EXT, 1, GL_RGBA, fbo_width, fbo_height);
glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT2_EXT, GL_RENDERBUFFER_EXT, ren_id)glGenFramebuffersEXT(1, &fbo_id);
GLenum status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);If I set the render buffer without multisample, it works well.
My graphics card is Radeon 9700 pro.
GLee tells me that GL_EXT_framebuffer_multisample and GL_EXT_framebuffer_blit are supported. The render buffer size is 1024x1024. What else could be the problem?
09-27-2007, 12:13 PM
why are you using ATTACHMENT2? Won't it be ATTACHMENT0?
09-27-2007, 02:09 PM
sorry, it should be
glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, ren_id)glGenFramebuffersEXT(1, &fbo_id);Originally the framebuffer has one render buffer and two texture attached to it. To narrow down the source of error, I comment out two textures, and keep only the render buffer.
GL_COLOR_ATTAEHMENT3_EXT is just one of the parameters that I tried to make it work.
Even I changed the argument to GL_COLOR_ATTAEHMENT3_EXT or GL_DEPTH_ATTACHMENT_EXT, the error is still there.
ive no problems setting multisamples with FBO (with nvidia though havent tested AMD)
>>glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT2_EXT, GL_RENDERBUFFER_EXT, ren_id)glGenFramebuffersEXT(1, &fbo_id);
whats glGenFramebuffersEXT(1, &fbo_id) doing at the end of the line, also 1 samples == no AA (i think, this maybe wrong)
also as zengar saiz GL_COLOR_ATTACHMENT2_EXT looks a bit dubious try GL_COLOR_ATTACHMENT0_EXT
apart from that i cant see anything obvious, i dont see where youre setting up the depth renderbuffer though
09-28-2007, 09:06 AM
Sorry about the typo of copy paste.
"glGenFramebuffersEXT(1, &fbo_id);" is not in my code. And I mean I tried GL_COLOR_ATTACHMENT0_EXT instead of ATTACHMENT2 or ATTACHMENT3. I also tried GL_DEPTH_ATTACHMENT.
Since it works fine without multisample, my suspicious is 9700 does not support it. It does not work on 9800 either. Unfortunately, I don't have any newer ATI or Nvidia cards to test.
ps. I update to the latest driver, 8.411.0.0, on my 9800, then suddenly all the opengl programs crashed. So I have to roll the driver back to a previous one.
09-28-2007, 10:49 AM
None of the older ATI drivers support the framebuffer_multisample extension, though the brand new ones might. NVIDIA supports it on Linux at least as far back as the 6600, maybe further. I haven't checked on Windows.
09-28-2007, 01:33 PM
thanks for the information!
May I ask where to check this kind of information?
The weird thing is, in GLee, the extensions check are all okay, but in fact ati doesn't support them.
I am tired of guessing each time whether the error is from my code or the non-supported video card.
10-01-2007, 03:48 AM
For ATI, checkout this (http://ati.amd.com/developer/atiopengl.pdf) (A bit deprecated unfortunately)
For NVIDIA, here (http://developer.download.nvidia.com/opengl/specs/nvOpenGLspecs.pdf) .
10-01-2007, 08:52 AM
In ATI's extension list, I cannot find any information about neither EXT_framebuffer_object nor EXT_framebuffer_multisample. But 9700 does support framebuffer_object. So the doc is deprecated just as you said.
The NVIDIA's list caught my attention. I found framebuffer_object, framebuffer_blit, and framebuffer_multisample are all supported in NV3x, NV4x, G8x, which represent Nvidia 5xxx, 6xxx, and 8xxx series respectively. So I guess 7xxx series all also support those extensions.
Man, that's a huge difference! I definitely want to get a NV card next time. And I learned that there is a reason to buy a low end card in high series, such as 8400 GS, if somebody just wants to get more programmability support.
10-01-2007, 10:41 AM
So I guess 7xxx series all also support those extensions.The 7000 series is also powered by an NV4x chip.
Powered by vBulletin® Version 4.2.3 Copyright © 2017 vBulletin Solutions, Inc. All rights reserved.