Skip to main content
GameDev.net gamedev.net
🔒 Locked

Accumumaltion buffer prob...

Started by zaNeXuS May 26, 2002 at 1:50 PM 12 replies 300+ views
Original Post
zaNeXuS
zaNeXuS
I''m trying to use the Accumulation buffer for antialiasing a scene. The thing is, I''ll say for instance only go through two jitters and my program will be sooooo slow it''s amazing, I''m sure its the glAccum() function that''s slowing it all up.Even if I only draw one Quad, it''s still so slow. Can Anyone help me? --------------- Gaming is Life ---------------
---------------Gaming is Life---------------
zaNeXuS
zaNeXuS
I call glAccum(GL_ACCUM, 1/TotalJitters) in a for loop where TotalJitters equals two, then call glAccum(GL_RETURN,1.0). the image is perfectly what I expected, but far to slow. I dunno, maybe it''s my video card . I just read that some cards don''t support accum buffers that well.

---------------
Gaming is Life
---------------
---------------Gaming is Life---------------
Null and Void
Null and Void
quote:
Original post by zaNeXuS
I just read that some cards don''t support accum buffers that well.

Or at all... You could be falling back into software mode. What video card do you have? Look it up here.

zaNeXuS
zaNeXuS
Well, I have a ATI Rage 128 Pro. I checked out the link, but didn''t see anything about a accumalation buffer, what should I be looking for?

---------------
Gaming is Life
---------------
---------------Gaming is Life---------------
Yann L
Yann L
Nothing at all. No consumer level card supports a HW accumulation buffer, not even a GF4 does, and definitely not a Rage128...

On GeForce/Radeon class hardware, you can use the multisample extension to get very good and fast fullscreen antialias.

On the Rage128, hmm well, how to say that... Buy a new card for anything that even closely relates to antialias

[edited by - Yann L on May 26, 2002 4:29:48 PM]
Null and Void
Null and Void
quote:
Original post by Yann L
Nothing at all. No consumer level card supports a HW accumulation buffer, not even a GF4 does, and definitely not a Rage128...

I just checked, and I can''t find a single card in that list that does support the accumulation buffer. I''d assumed the list was more complete than that . Sorry.

zaNeXuS
zaNeXuS
So Yann... you''re telling me if I don''t buy a better card, I might as well forget about antialiasing , cos geez, it really can make the difference.
P.S. isn''t there other ways except accumalation buffer or having to sort your polys from back to front?

---------------
Gaming is Life
---------------
---------------Gaming is Life---------------
Prosper/LOADED
Prosper/LOADED
Instead of using the accumulation buffer, you could render your scene to textures and blend them together. But I don''t think an ATI Rage have enough fillrate to do it as a decent speed (though it should be much faster than what you have now).
Yann L
Yann L
quote:

So Yann... you're telling me if I don't buy a better card, I might as well forget about antialiasing


Basically yes, I'm afraid.
Antialias is a *very* performance hungry feature. Newer 3D cards have dedicated hardware to take care of that (multisample buffers), but the Rage128 does not.

quote:

P.S. isn't there other ways except accumalation buffer or having to sort your polys from back to front?


Not really. The only options you have are:

* standard edge antialias. You'll have to sort your faces, and it takes quite some performance. But it works on older cards.
* fullscreen antialias through the accumulation buffer (or similar). Doesn't require any sorting, good quality, but only accelerated on pro-level 3D cards ($5,000 and up).
* multisampling. Best choice, easy to use, good quality, no sorting. But only available on GeForce/Radeon class hardware.

There are a few other obscure methods, but all of them require some form of framebuffer readback. And that's incredibly slow.

quote:

Instead of using the accumulation buffer, you could render your scene to textures and blend them together.


AFAIK, the Rage128 does not have hardware accelerated render-to-texture. So this would involve multiple framebuffer readbacks. But yes, it could be somewhat faster than pure software rendering, depends on the application.

/ Yann

[edited by - Yann L on May 27, 2002 4:53:27 PM]
zaNeXuS
zaNeXuS
The thing that I don''t understand is, how come a game like Q3 don''t reveal my problem in their engine, I mean I''m still using the same 3d card, but there''s no sign of this problem.I''m obviously talking about their space maps where you can see the other side of the world. Are they using any kind of antialiasing or do they have other sneaky methods?

---------------
Gaming is Life
---------------
---------------Gaming is Life---------------
zedzeek
zedzeek
>>how come a game like Q3 don''t reveal my problem in their engine, I mean I''m still using the same 3d card, but there''s no sign of this problem.I''m obviously talking about their space maps where you can see the other side of the world. Are they using any kind of antialiasing or do they have other sneaky methods?<<

aye?, i dont see the connection!

http://uk.geocities.com/sloppyturds/gotterdammerung.html
Prosper/LOADED
Prosper/LOADED
quote:
Original post by Yann L
AFAIK, the Rage128 does not have hardware accelerated render-to-texture. So this would involve multiple framebuffer readbacks. But yes, it could be somewhat faster than pure software rendering, depends on the application.



Even if it cannot handle render-to-texture operations, you can use a dirty trick : render tour scene to the viewport and use glCopyTexImage2D(...) to put it in a texture, it''s obviously slower than directly render to the texture but since it''s a VRAM->VRAM operation it''s not *that* slow.

The real bottleneck is that you have to render the same scene several times and blend all this stuff, which is fillrate expansive. And an ATI Rage doesn''t have enough fillrate to do it, unless you use a really poor resolution.

Maximus
Maximus
The Voodoo5''s "T-Buffer" was essentially an Accumulation buffer. The motion-blur and FSAA on the V5 was done using the OpenGL accumulation buffer functions I believe.

-----------------------
"When I have a problem on an Nvidia, I assume that it is my fault. With anyone else''s drivers, I assume it is their fault" - John Carmack
-----------------------"When I have a problem on an Nvidia, I assume that it is my fault. With anyone else's drivers, I assume it is their fault" - John Carmack

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.