Advertisement

Tripple buffering in OpenGL

Started by January 30, 2001 10:50 AM
5 comments, last by QWERTY 23 years, 9 months ago
Hi, Is it possible to use a tripple buffer scheme with OpenGL? If so, anybody knows how to do it?
As I understand it, there are multiple buffers in OpenGL:

Color buffers: Front buffer(s) and Back buffer(s)
Z (Depth) buffer:
Stencil buffer:
Accumulation buffer:
Selection Buffer:

nVidia defines Triple Buffering as:
"A step beyond double buffering (see above definition), triple buffering uses an additional back buffer to process the next image, resulting in smoother animation."

Are you refering to adding an additional Color Buffer?

As far as I can tell, Triple-Buffering is a 3d accelerator buzzword. If anyone knows, please post because I''m dying to know if this is possible now, I have found nothing on creating addition back buffers.

Jason
Advertisement
this is an os (ie not opengl) thing but AFAIK windows or linux aint able to expose tripple buffering at this time

http://members.xoom.com/myBollux
I know this is an os dependant feature. This is the reason why I am asking this question. The only way I know is to use DirectDraw together with OpenGL. So you setup tripple buffering scheme using DDraw and then using those two back buffers for rendering with OpenGL. But I heared there may be some problems using this aproach on some gfx cards. Anybody has some experiences with tripple buffering in OpenGL? Any help would be appreciated.



Edited by - QWERTY on January 31, 2001 8:55:54 AM
As far as I know, you can''t use triple buffering in OpenGL. You can use it in Direct3D, but that''s not what''s being asked.

- Peter
While you guys are on that subject, there are left and right buffers too. Can they be used to make stereoscopic views?
Chess is played by three people. Two people play the game; the third provides moral support for the pawns. The object of the game is to kill your opponent by flinging captured pieces at his head. Since the only piece that can be killed is a pawn, the two armies agree to meet in a pawn-infested area (or even a pawn shop) and kill as many pawns as possible in the crossfire. If the game goes on for an hour, one player may legally attempt to gouge out the other player's eyes with his King.
Advertisement
Triple buffering in OpenGL ends up being a driver issue, not an OS issue. Because of OpenGL''s very abstract definition, practically no platform-specific details are exposed. In Win32, for example, all you have to show the back buffer is SwapBuffer. Now, in the NVIDIA control panel thingy, there''s a little option to switch between page flipping and back buffering; they''d only need to add an option for triple buffering. The call to SwapBuffer would access the mechanism in the driver to swap buffers, and the driver would then do the triple buffering. In other words, things like triple buffering are little details left to driver and OS binding implementations, not the actual API.

Direct3D, on the other hand, presents every damned little detail, so directly supporting such things is a "simple" matter of calling a few million methods after setting up 10 pages of code filling structures. =)

This topic is closed to new replies.

Advertisement