private GetDisplay ( EGLNativeDisplayType display_id ) : EGLDisplay | ||
display_id | EGLNativeDisplayType | |
Результат | EGLDisplay |
public GraphicsMode SelectGraphicsMode(ColorFormat color, int depth, int stencil, int samples, ColorFormat accum, int buffers, bool stereo, RenderableFlags renderable_flags) { IntPtr[] configs = new IntPtr[1]; int[] attribList = new int[] { //Egl.SURFACE_TYPE, Egl.WINDOW_BIT, Egl.RENDERABLE_TYPE, (int)renderable_flags, Egl.RED_SIZE, color.Red, Egl.GREEN_SIZE, color.Green, Egl.BLUE_SIZE, color.Blue, Egl.ALPHA_SIZE, color.Alpha, Egl.DEPTH_SIZE, depth > 0 ? depth : 0, Egl.STENCIL_SIZE, stencil > 0 ? stencil : 0, Egl.SAMPLE_BUFFERS, samples > 0 ? 1 : 0, Egl.SAMPLES, samples > 0 ? samples : 0, Egl.NONE, }; // Todo: what if we don't wish to use the default display? IntPtr display = Egl.GetDisplay(IntPtr.Zero); int major, minor; if (!Egl.Initialize(display, out major, out minor)) { throw new GraphicsModeException(String.Format("Failed to initialize display connection, error {0}", Egl.GetError())); } int num_configs; if (!Egl.ChooseConfig(display, attribList, configs, configs.Length, out num_configs) || num_configs == 0) { throw new GraphicsModeException(String.Format("Failed to retrieve GraphicsMode, error {0}", Egl.GetError())); } // See what we really got IntPtr active_config = configs[0]; int r, g, b, a; Egl.GetConfigAttrib(display, active_config, Egl.RED_SIZE, out r); Egl.GetConfigAttrib(display, active_config, Egl.GREEN_SIZE, out g); Egl.GetConfigAttrib(display, active_config, Egl.BLUE_SIZE, out b); Egl.GetConfigAttrib(display, active_config, Egl.ALPHA_SIZE, out a); int d, s; Egl.GetConfigAttrib(display, active_config, Egl.DEPTH_SIZE, out d); Egl.GetConfigAttrib(display, active_config, Egl.STENCIL_SIZE, out s); int sample_buffers; Egl.GetConfigAttrib(display, active_config, Egl.SAMPLES, out sample_buffers); Egl.GetConfigAttrib(display, active_config, Egl.SAMPLES, out samples); return(new GraphicsMode(active_config, new ColorFormat(r, g, b, a), d, s, sample_buffers > 0 ? samples : 0, 0, 2, false)); }
public override IGraphicsContext CreateGLContext(ContextHandle handle, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { var x11_win = (X11WindowInfo)window; var egl_win = new EglWindowInfo(x11_win.Handle, Egl.GetDisplay(x11_win.Display)); return(new EglUnixContext(handle, egl_win, shareContext, major, minor, flags)); }
public override IGraphicsContext CreateGLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { WinWindowInfo win_win = (WinWindowInfo)window; EGLDisplay egl_display = Egl.GetDisplay(EGLNativeDisplayType.Default); // Egl.GetDisplay(new EGLNativeDisplayType(win_win.DeviceContext)); EglWindowInfo egl_win = new OpenTK.Platform.Egl.EglWindowInfo(win_win.WindowHandle, egl_display); return(new EglContext(mode, egl_win, shareContext, major, minor, flags)); }
IntPtr GetDisplay(IntPtr dc) { IntPtr display = Egl.GetDisplay(dc); if (display == IntPtr.Zero) { display = Egl.GetDisplay(IntPtr.Zero); } return(display); }
public EglWindowInfo(IntPtr handle, IntPtr display, IntPtr surface) { Handle = handle; _surface = surface; if (display == IntPtr.Zero) { display = Egl.GetDisplay(IntPtr.Zero); } Display = display; //int dummyMajor, dummyMinor; //if (!Egl.Initialize(Display, out dummyMajor, out dummyMinor)) //{ // throw new GraphicsContextException(String.Format("Failed to initialize EGL, error {0}.", Egl.GetError())); //} }
public EglWindowInfo(IntPtr handle, IntPtr display, IntPtr surface) { Handle = handle; Surface = surface; if (display == IntPtr.Zero) { display = Egl.GetDisplay(IntPtr.Zero); } Display = display; int dummyMajor, dummyMinor; if (!Egl.Initialize(Display, out dummyMajor, out dummyMinor)) { throw new GraphicsContextException($"Failed to initialize EGL, error {Egl.GetError()}."); } }
public override IGraphicsContext CreateGLContext(GraphicsMode mode, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { X11WindowInfo x11_win = (X11WindowInfo)window; EglWindowInfo egl_win = new OpenTK.Platform.Egl.EglWindowInfo(x11_win.WindowHandle, Egl.GetDisplay(x11_win.Display)); return(new EglContext(mode, egl_win, shareContext, major, minor, flags)); }
public GraphicsMode SelectGraphicsMode(ColorFormat color, int depth, int stencil, int samples, ColorFormat accum, int buffers, bool stereo, RenderableFlags renderable_flags) { IntPtr[] configs = new IntPtr[1]; int[] attrib_list = new int[17] { 12352, (int)renderable_flags, 12324, color.Red, 12323, color.Green, 12322, color.Blue, 12321, color.Alpha, 12325, depth > 0 ? depth : 0, 12326, stencil > 0 ? stencil : 0, 12337, samples > 0 ? samples : 0, 12344 }; IntPtr display = Egl.GetDisplay(IntPtr.Zero); int major; int minor; if (!Egl.Initialize(display, out major, out minor)) { throw new GraphicsModeException(string.Format("Failed to initialize display connection, error {0}", (object)Egl.GetError())); } int num_config; if (!Egl.ChooseConfig(display, attrib_list, configs, configs.Length, out num_config) || num_config == 0) { throw new GraphicsModeException(string.Format("Failed to retrieve GraphicsMode, error {0}", (object)Egl.GetError())); } IntPtr config = configs[0]; int red; Egl.GetConfigAttrib(display, config, 12324, out red); int green; Egl.GetConfigAttrib(display, config, 12323, out green); int blue; Egl.GetConfigAttrib(display, config, 12322, out blue); int alpha; Egl.GetConfigAttrib(display, config, 12321, out alpha); int depth1; Egl.GetConfigAttrib(display, config, 12325, out depth1); int stencil1; Egl.GetConfigAttrib(display, config, 12326, out stencil1); int num; Egl.GetConfigAttrib(display, config, 12337, out num); Egl.GetConfigAttrib(display, config, 12337, out samples); return(new GraphicsMode(new IntPtr?(config), new ColorFormat(red, green, blue, alpha), depth1, stencil1, num > 0 ? samples : 0, (ColorFormat)0, 2, false)); }
public override IGraphicsContext CreateGLContext(ContextHandle handle, IWindowInfo window, IGraphicsContext shareContext, bool directRendering, int major, int minor, GraphicsContextFlags flags) { X11WindowInfo x11WindowInfo = (X11WindowInfo)window; EglWindowInfo window1 = new EglWindowInfo(x11WindowInfo.WindowHandle, Egl.GetDisplay(x11WindowInfo.Display)); return((IGraphicsContext) new EglContext(handle, window1, shareContext, major, minor, flags)); }