OpenTK.Platform.X11.Glx.GetVisualFromFBConfig C# (CSharp) Method

GetVisualFromFBConfig() private method

private GetVisualFromFBConfig ( IntPtr dpy, IntPtr fbconfig ) : IntPtr
dpy System.IntPtr
fbconfig System.IntPtr
return System.IntPtr
        public unsafe extern static IntPtr GetVisualFromFBConfig(IntPtr dpy, IntPtr fbconfig);
        #endregion

Usage Example

        // 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).


        public GraphicsMode SelectGraphicsMode(GraphicsMode desired_mode, out IntPtr visual, out IntPtr fbconfig)
        {
            GraphicsMode gfx;
            var          mode = new GraphicsMode(desired_mode);

            visual   = IntPtr.Zero;
            fbconfig = IntPtr.Zero;
            var display = API.DefaultDisplay;

            do
            {
                // Try to select a visual using Glx.ChooseFBConfig and Glx.GetVisualFromFBConfig.
                // This is only supported on GLX 1.3 - if it fails, fall back to Glx.ChooseVisual.
                fbconfig = SelectFBConfig(mode);
                if (fbconfig != IntPtr.Zero)
                {
                    visual = Glx.GetVisualFromFBConfig(display, fbconfig);
                }

                if (visual == IntPtr.Zero)
                {
                    visual = SelectVisual(mode);
                }

                if (visual == IntPtr.Zero)
                {
                    // Relax parameters and retry
                    if (!Utilities.RelaxGraphicsMode(ref mode))
                    {
                        throw new GraphicsModeException("Requested GraphicsMode not available.");
                    }
                }
            } while (visual == IntPtr.Zero);

            var info = (XVisualInfo)Marshal.PtrToStructure(visual, typeof(XVisualInfo));

            gfx = CreateGraphicsMode(display, ref info);
            return(gfx);
        }
All Usage Examples Of OpenTK.Platform.X11.Glx::GetVisualFromFBConfig