Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 3 of 3

Thread: triple buffering

  1. #1
    Newbie Newbie
    Join Date
    Aug 2012
    Posts
    2

    triple buffering

    How would I implement triple buffering? (https://en.wikipedia.org/wiki/Multip...iple_buffering)
    From a bit of searching, I know that a framebuffer object can be used for a buffer.

    Triple buffering implies that one back buffer is always being rendered to, and the other back buffer is done rendering.

    I imagine (at least part of) the code looks something like:
    Code :
    while true
        render to bufferA
        swap bufferA and bufferB

    How does the swap with the front buffer happen? If you look at https://en.wikipedia.org/wiki/File:C..._buffering.svg , the copying (i.e. swap with front) happens at the same time asthe rendering. Is multithreading required?

  2. #2
    Super Moderator OpenGL Guru
    Join Date
    Feb 2000
    Location
    Montreal, Canada
    Posts
    4,264
    I think it is best to leave that to the hardware. http://www.opengl.org/wiki/Common_Mi...iple_Buffering
    The user can enable it through the control panel (nvidia or amd)
    ------------------------------
    Sig: http://glhlib.sourceforge.net
    an open source GLU replacement library. Much more modern than GLU.
    float matrix[16], inverse_matrix[16];
    glhLoadIdentityf2(matrix);
    glhTranslatef2(matrix, 0.0, 0.0, 5.0);
    glhRotateAboutXf2(matrix, angleInRadians);
    glhScalef2(matrix, 1.0, 1.0, -1.0);
    glhQuickInvertMatrixf2(matrix, inverse_matrix);
    glUniformMatrix4fv(uniformLocation1, 1, FALSE, matrix);
    glUniformMatrix4fv(uniformLocation2, 1, FALSE, inverse_matrix);

  3. #3
    Newbie Newbie
    Join Date
    Aug 2012
    Posts
    2
    Quote Originally Posted by V-man View Post
    I think it is best to leave that to the hardware. http://www.opengl.org/wiki/Common_Mi...iple_Buffering
    The user can enable it through the control panel (nvidia or amd)
    If it is enabled, what would a program that takes advantage of triple buffering roughly look like?

    If it is not enabled, how would one implement it using FBO's?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •