Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Page 1 of 2 12 LastLast
Results 1 to 10 of 15

Thread: OpenGL accumulation buffer

  1. #1
    Intern Newbie
    Join Date
    Feb 2012
    Posts
    32

    OpenGL accumulation buffer

    Hey,

    I want to ani-alias a scene, but the only things I am using now is the glEnable(GL_POINT_SMOOTH etc. all these functions. Now I read that OpenGL was planning to remove this way of anti-aliasing, and that some new driver will stop supporting this method. And because of some other reasons, I want to use multi-sampling as a way to perfomr this action. Could anyone explain this method to me? I read some tutorials, but I couldn't comprehend the whole story.

    Dardan

  2. #2
    Senior Member OpenGL Guru
    Join Date
    May 2009
    Posts
    4,948

    Re: OpenGL accumulation buffer

    What does multisampling and point smoothing have to do with accumulation buffers?

  3. #3
    Super Moderator OpenGL Guru
    Join Date
    Feb 2000
    Location
    Montreal, Canada
    Posts
    4,264

    Re: OpenGL accumulation buffer

    I don't know either but if you want full scene anti-aliasing, then you need to chose a pixelformat that supports full scene anti-aliasing. This is something that is OS specific.

    Here is the Windows version
    http://www.opengl.org/wiki/Multisampling
    ------------------------------
    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);

  4. #4
    Intern Newbie
    Join Date
    Feb 2012
    Posts
    32

    Re: OpenGL accumulation buffer

    well, what i said is that I used this pointsmooth system to anti-alias now. But i heard that there is a technique called 'multisampling" or sth. So i wanted to know how you perfomr this and do this.

  5. #5
    Intern Newbie
    Join Date
    Feb 2012
    Posts
    32

    Re: OpenGL accumulation buffer

    ok, seems quite complex....
    maybe you can give some tips or sth before I try this out? So maybe you know how to find the suitable pixelformat easily?

    Dardan

  6. #6
    Senior Member OpenGL Guru
    Join Date
    May 2009
    Posts
    4,948

    Re: OpenGL accumulation buffer

    well, what i said is that I used this pointsmooth system to anti-alias now. But i heard that there is a technique called 'multisampling" or sth. So i wanted to know how you perfomr this and do this.
    The title of this post is "OpenGL accumulation buffer". Multisampling has nothing to do with accumulation buffers, and neither does point smoothing.

  7. #7
    Intern Newbie
    Join Date
    Feb 2012
    Posts
    32

    Re: OpenGL accumulation buffer

    I thought you needed the accumulation buffer for multisampling??? So it's not??
    oh terrible mistake..

  8. #8
    Super Moderator OpenGL Guru
    Join Date
    Feb 2000
    Location
    Montreal, Canada
    Posts
    4,264

    Re: OpenGL accumulation buffer

    No, you don't need a accumulation buffer.

    Nothing is going away. You can always create an old GL context and use the old features.

    For GL3 context and above, you can create a compatible context and mix and match old and new features. nVidia and AMD support it on Windows.
    On the Mac, GL3 context is a forward compatible context.

    If you want to quickly see how it would look, then go into your windows control panel, activate FSAA from your nvidia or AMD thingy.
    ------------------------------
    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);

  9. #9
    Senior Member OpenGL Guru
    Join Date
    May 2009
    Posts
    4,948

    Re: OpenGL accumulation buffer

    On the Mac, GL3 context is a forward compatible context.
    NO IT ISN'T!

    I'm so sick of people talking about forward-compatible as though it's synonymous with core. It's not. They are two different things.

    A core context implements the core OpenGL specification. A forward-compatible context (which you should never use) is one created via the forward compatibility setting. It implements the core specification minus any functionality still marked deprecated.

    Not the same thing. MacOSX implements GL 3.2 core, not forward compatibility. Please stop spreading disinformation.

  10. #10
    Super Moderator OpenGL Guru
    Join Date
    Feb 2000
    Location
    Montreal, Canada
    Posts
    4,264

    Re: OpenGL accumulation buffer

    Quote Originally Posted by Alfonse Reinheart
    A core context implements the core OpenGL specification. A forward-compatible context (which you should never use) is one created via the forward compatibility setting. It implements the core specification minus any functionality still marked deprecated.
    Minus functionality still marked deprecated?

    I'm confused. There are 2 possibilities, right?
    Core = which has the old stuff removed (this is what I meant for the Mac)
    Forward compatible = this is the backward compatible one. Not sure why they call it forward compatible.
    ------------------------------
    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);

Posting Permissions

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