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 6 of 6

Thread: glDisable(GL_MULTISAMPLE) has no effect?

  1. #1
    Junior Member Regular Contributor
    Join Date
    Mar 2009
    Location
    Seattle, WA
    Posts
    217

    glDisable(GL_MULTISAMPLE) has no effect?

    Now that I have a multisampled pixel format created, calling glDisable(GL_MULTISAMPLE) seems to have no effect. I can't turn off the antialiasing. This is in OpenGL 3.1. Has behavior changed, or is this a known issue?

    GEForce 9800 GTX, Windows 7 64-bit.

  2. #2
    Member Regular Contributor
    Join Date
    Apr 2009
    Posts
    268

    Re: glDisable(GL_MULTISAMPLE) has no effect?

    I have observed similar behavior on NV with FBO with high samplecounts. Dunno about def-FBO though.

  3. #3
    Junior Member Regular Contributor
    Join Date
    Mar 2009
    Location
    Seattle, WA
    Posts
    217

    Re: glDisable(GL_MULTISAMPLE) has no effect?

    Reported here, along with an example:
    http://developer.nvidia.com/forums/i...showtopic=5088

  4. #4
    Senior Member OpenGL Guru Dark Photon's Avatar
    Join Date
    Oct 2004
    Location
    Druidia
    Posts
    4,569

    Re: glDisable(GL_MULTISAMPLE) has no effect?

    Quote Originally Posted by JoshKlint
    Now that I have a multisampled pixel format created, calling glDisable(GL_MULTISAMPLE) seems to have no effect. I can't turn off the antialiasing. This is in OpenGL 3.1. Has behavior changed, or is this a known issue?
    There are several related subissues here. Multisample render target, multisample rasterization, and multisample reconstruction filter. When I looked at this before, it appears glDisable( GL_MULTISAMPLE ) only (as the spec says) disables multisample rasterization. So you get rid of some of the AA effect but not necessarily all, so long as you keep the MSAA pixel format. See the attached pic.

    But it's been years since I took this screenshot. Don't know what the current drivers do.

    If you don't want AA, use an FBO to draw to a single-sample target. Alternatively, implementing your own downsampling technique might get rid of the residual AA left over after glDisable( GL_MULTISAMPLE ). Or picking another vendor-provided MSAA mode where the reconstruction filter doesn't cross pixel boundaries (vendor/driver-specific voodoo).

  5. #5
    Junior Member Regular Contributor
    Join Date
    Mar 2009
    Location
    Seattle, WA
    Posts
    217

    Re: glDisable(GL_MULTISAMPLE) has no effect?

    If the spec specifies behavior other than what I described as my expectation, then I am not concerned about this.

  6. #6
    Junior Member Regular Contributor
    Join Date
    Jul 2010
    Posts
    199

    Re: glDisable(GL_MULTISAMPLE) has no effect?

    This is very interesting, and very significant in the case of picking objects by color ID. In my case, I have never observed this behavior, i.e., when I call glDisable(GL_MULTISAMPLE), there is no anti-aliasing of any kind going on at all. I have an AMD/ATI Radeon HD 5750, and I've installed each of the drivers that have supported OpenGL 4.0 (10.3 beta, 10.6, 10.7, 10.8, and 10.9), Windows XP 32 bit. I have only tested this with OpenGL 4.0 core profile.

Posting Permissions

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