Implemented multisampling on X11.

This commit is contained in:
the_fiddler 2009-06-26 20:01:22 +00:00
parent c9b903e652
commit 77788d19a4

View file

@ -18,6 +18,10 @@ namespace OpenTK.Platform.X11
{
class X11GraphicsMode : IGraphicsMode
{
// Todo: Add custom visual selection algorithm, instead of ChooseFBConfig/ChooseVisual.
// It seems the Choose* methods do not take multisampling into account (at least on some
// drivers).
#region Constructors
public X11GraphicsMode()
@ -32,7 +36,7 @@ namespace OpenTK.Platform.X11
int buffers, bool stereo)
{
GraphicsMode gfx; // The actual GraphicsMode that will be selected.
IntPtr visual;
IntPtr visual = IntPtr.Zero;
IntPtr display = API.DefaultDisplay;
// Try to select a visual using Glx.ChooseFBConfig and Glx.GetVisualFromFBConfig.
@ -137,6 +141,14 @@ namespace OpenTK.Platform.X11
visualAttributes.Add((int)GLXAttribute.ACCUM_RED_SIZE);
visualAttributes.Add(accum.Red);
}
if (samples > 0)
{
visualAttributes.Add((int)GLXAttribute.SAMPLE_BUFFERS);
visualAttributes.Add(1);
visualAttributes.Add((int)GLXAttribute.SAMPLES);
visualAttributes.Add(samples);
}
if (stereo)
{
@ -228,6 +240,14 @@ namespace OpenTK.Platform.X11
visualAttributes.Add((int)GLXAttribute.ACCUM_RED_SIZE);
visualAttributes.Add(accum.Red);
}
if (samples > 0)
{
visualAttributes.Add((int)GLXAttribute.SAMPLE_BUFFERS);
visualAttributes.Add(1);
visualAttributes.Add((int)GLXAttribute.SAMPLES);
visualAttributes.Add(samples);
}
if (stereo)
visualAttributes.Add((int)GLXAttribute.STEREO);