triple buffering in opengl

Started by
12 comments, last by frob 18 years, 2 months ago
I was just reading sgi’s documentation about “wglGetPixelFormatAttribivARB” when I found this: “Should we add support for triple buffering? No, triple buffering needs to be covered by a separate extension.” Can someone tell me the extension covering triple buffering?
Advertisement
open GL extension registry

but... i dont know that there is one "yet" as would be implied by the quote in your post
|aaap.penopticon.com| My website, including game projects. Collaboration/comments are welcome, please visit :)
I could not found anything relevant in Extension Registry... I always thought OpenGL is going to support everything before Direct3D because of the extensions!
Anyway, if you know how to do triple buffering in OGL so please tell be about.
mmm... i would bet that it's platform dependent... for instance its probably possible to make the window of the rendering context tripple buffered.. but i dont know.
|aaap.penopticon.com| My website, including game projects. Collaboration/comments are welcome, please visit :)
Your driver may decide to perform triple buffering internally (I think it usually does on recent GPUs). AFAIK there's currently no way to control whether it does or not.
Quote:Original post by Sneftel
Your driver may decide to perform triple buffering internally (I think it usually does on recent GPUs).

That's correct. Some drivers might expose a user controllable hint in the graphics driver control panel.

Quote:Original post by Sneftel
AFAIK there's currently no way to control whether it does or not.

There is no way, and there should be no way. Whether triple buffering is used or not is none of the application developers business.
Question:

why is it no business to the developer? just curious.
|aaap.penopticon.com| My website, including game projects. Collaboration/comments are welcome, please visit :)
Quote:Original post by AAAP
Question:

why is it no business to the developer? just curious.

Because there is no benefit in letting him control it. On the other hand, there is a lot of benefit in letting the driver control it exclusively, since the driver has access to internal information (memory layout and usage, performance data, etc) the user doesn't have or want access to. The driver is also able to switch triple buffering on/off on the fly, depending on the current situation.

This is comparable to resources such as textures. In the old days, there was a way to query the residency status of textures by the developer. Today, this feature is meaningless due to resources being managed entirely by the driver.
>>> In the old days, there was a way to query the residency status of textures by the developer. Today, this feature is meaningless due to resources being managed entirely by the driver.

The functions glAreTexturesResident() and glPrioritizeTextures() are now 'meaningless'? Am I understanding you correctly? I'm not challenging the statement (as I don't know one way or the other), I've just never heard that before.
Quote:Original post by berith
The functions glAreTexturesResident() and glPrioritizeTextures() are now 'meaningless'? Am I understanding you correctly?

Yes. Do not use these functions, they are obsolete. It is best not to interfere with managed resources in any way on modern hardware. That's why newer managed extensions (such as VBOs) don't even expose such a functionality.

glAreTexturesResident() will return a meaningless value, because the interpretation of residency is completely manufacturer dependent and non-standard. glPrioritizeTextures() will most likely be completely ignored by modern drivers.

This topic is closed to new replies.

Advertisement