예제 #1
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern bool SwapBuffers(EGLDisplay dpy, EGLSurface surface);
예제 #2
0
파일: Egl.cs 프로젝트: valera6285/opentk
 public static extern bool DestroySurface(EGLDisplay dpy, EGLSurface surface);
예제 #3
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern bool SurfaceAttrib(EGLDisplay dpy, EGLSurface surface, int attribute, int value);
예제 #4
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static EGLContext CreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, int[] attrib_list)
 {
     IntPtr ptr = eglCreateContext(dpy, config, share_context, attrib_list);
     if (ptr == IntPtr.Zero)
         throw new GraphicsContextException(String.Format("Failed to create EGL context, error: {0}.", Egl.GetError()));
     return ptr;
 }
예제 #5
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern bool ChooseConfig(EGLDisplay dpy, int[] attrib_list, [In, Out] EGLConfig[] configs, int config_size, out int num_config);
예제 #6
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern EGLSurface CreatePixmapSurface(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, int[] attrib_list);
예제 #7
0
파일: Egl.cs 프로젝트: RockyTV/opentk
 public static extern EGLSurface CreatePlatformWindowSurfaceEXT(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType native_window, int[] attrib_list);
예제 #8
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 //[return: MarshalAsAttribute(UnmanagedType.I1)]
 public static extern bool Initialize(EGLDisplay dpy, out int major, out int minor);
예제 #9
0
        public GraphicsMode SelectGraphicsMode(ColorFormat color, int depth, int stencil, int samples, ColorFormat accum, int buffers, bool stereo)
        {
            EGLConfig[] configs    = new EGLConfig[1];
            int[]       attribList = new int[]
            {
                //Egl.SURFACE_TYPE, Egl.WINDOW_BIT,

                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?
            EGLDisplay display = Egl.GetDisplay(EGLNativeDisplayType.Default);
            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.GetConfigs(display, null, 0, out num_configs))
            {
                throw new GraphicsModeException(String.Format("Failed to retrieve GraphicsMode configurations, error {0}", Egl.GetError()));
            }

            if (!Egl.ChooseConfig(display, attribList, configs, configs.Length, out num_configs))
            {
                throw new GraphicsModeException(String.Format("Failed to retrieve GraphicsMode, error {0}", Egl.GetError()));
            }

            // See what we really got
            EGLConfig 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.Handle.Value, new ColorFormat(r, g, b, a), d, s, sample_buffers > 0 ? samples : 0, 0, 2, false));
        }
예제 #10
0
파일: Egl.cs 프로젝트: RockyTV/opentk
 public static extern bool QuerySurfacePointerANGLE(EGLDisplay display, EGLSurface surface, int attribute, out IntPtr value);
예제 #11
0
 public EglWindowInfo(IntPtr handle, EGLDisplay display, EGLSurface surface)
 {
     Handle  = handle;
     Display = display;
     Surface = surface;
 }
예제 #12
0
 public EglWindowInfo(IntPtr handle, EGLDisplay display)
 {
     Handle  = handle;
     Display = display;
 }
예제 #13
0
파일: Egl.cs 프로젝트: hobum-kwon/opentk
 public static extern EGLSurface CreatePlatformPixmapSurfaceEXT(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType native_pixmap, int[] attrib_list);
예제 #14
0
파일: Egl.cs 프로젝트: valera6285/opentk
 public static extern EGLSurface CreatePbufferFromClientBuffer(EGLDisplay dpy, int buftype, EGLClientBuffer buffer, EGLConfig config, int[] attrib_list);
예제 #15
0
파일: Egl.cs 프로젝트: RockyTV/opentk
 public static extern EGLSurface CreatePlatformPixmapSurfaceEXT(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType native_pixmap, int[] attrib_list);
예제 #16
0
파일: Egl.cs 프로젝트: valera6285/opentk
 public static extern bool ReleaseTexImage(EGLDisplay dpy, EGLSurface surface, int buffer);
예제 #17
0
 public EglWindowInfo(IntPtr handle, EGLDisplay display)
 {
     Handle = handle;
     Display = display;
 }
예제 #18
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern IntPtr QueryString(EGLDisplay dpy, int name);
예제 #19
0
 public EglWindowInfo(IntPtr handle, EGLDisplay display, EGLSurface surface)
 {
     Handle = handle;
     Display = display;
     Surface = surface;
 }
예제 #20
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern  EGLSurface CreateWindowSurface(EGLDisplay dpy, EGLConfig config, IntPtr win, int[] attrib_list);
예제 #21
0
 static extern IntPtr eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, IntPtr win, int[] attrib_list);
예제 #22
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern bool QuerySurface(EGLDisplay dpy, EGLSurface surface, int attribute, out int value);
예제 #23
0
파일: Egl.cs 프로젝트: asmboom/PixelFarm
 static extern IntPtr eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, int[] attrib_list);
예제 #24
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern bool SwapInterval(EGLDisplay dpy, int interval);
예제 #25
0
파일: Egl.cs 프로젝트: asmboom/PixelFarm
 public static extern bool DestroyContext(EGLDisplay dpy, EGLContext ctx);
예제 #26
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern bool MakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
예제 #27
0
파일: Egl.cs 프로젝트: asmboom/PixelFarm
 public static extern bool MakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
예제 #28
0
파일: Egl.cs 프로젝트: hobum-kwon/opentk
 public static extern EGLSurface CreatePlatformWindowSurfaceEXT(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType native_window, int[] attrib_list);
예제 #29
0
파일: Egl.cs 프로젝트: asmboom/PixelFarm
 public static extern bool QueryContext(EGLDisplay dpy, EGLContext ctx, int attribute, out int value);
예제 #30
0
파일: Egl.cs 프로젝트: valera6285/opentk
 public static extern bool QuerySurface(EGLDisplay dpy, EGLSurface surface, int attribute, out int value);
예제 #31
0
파일: Egl.cs 프로젝트: asmboom/PixelFarm
 public static extern bool CopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
예제 #32
0
파일: Egl.cs 프로젝트: valera6285/opentk
 public static extern bool SurfaceAttrib(EGLDisplay dpy, EGLSurface surface, int attribute, int value);
예제 #33
0
파일: Egl.cs 프로젝트: asmboom/PixelFarm
 public static extern bool SwapBuffers(EGLDisplay dpy, EGLSurface surface);
예제 #34
0
파일: Egl.cs 프로젝트: valera6285/opentk
 public static extern bool SwapInterval(EGLDisplay dpy, int interval);
예제 #35
0
 public static EGLDisplay GetDisplay(EGLNativeDisplayType display_id)
 {
     IntPtr ptr = eglGetDisplay(display_id);
     EGLDisplay ret = new EGLDisplay(ptr);
     return ret;
 }
예제 #36
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 //[return: MarshalAsAttribute(UnmanagedType.I1)]
 public static extern bool Terminate(EGLDisplay dpy);
예제 #37
0
 public static EGLSurface CreateWindowSurface(EGLDisplay dpy, EGLConfig config, IntPtr win, int[] attrib_list)
 {
     IntPtr ptr = eglCreateWindowSurface(dpy, config,  win, attrib_list);
     EGLSurface ret = new EGLSurface(ptr);
     return ret;
 }
예제 #38
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern bool GetConfigs(EGLDisplay dpy, EGLConfig[] configs, int config_size, out int num_config);
예제 #39
0
파일: Egl.cs 프로젝트: valera6285/opentk
 //[return: MarshalAsAttribute(UnmanagedType.I1)]
 public static extern bool Initialize(EGLDisplay dpy, out int major, out int minor);
예제 #40
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern bool GetConfigAttrib(EGLDisplay dpy, EGLConfig config, int attribute, out int value);
예제 #41
0
파일: Egl.cs 프로젝트: valera6285/opentk
 //[return: MarshalAsAttribute(UnmanagedType.I1)]
 public static extern bool Terminate(EGLDisplay dpy);
예제 #42
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern EGLSurface CreatePbufferSurface(EGLDisplay dpy, EGLConfig config, int[] attrib_list);
예제 #43
0
파일: Egl.cs 프로젝트: valera6285/opentk
 public static extern IntPtr QueryString(EGLDisplay dpy, int name);
예제 #44
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern bool DestroySurface(EGLDisplay dpy, EGLSurface surface);
예제 #45
0
파일: Egl.cs 프로젝트: valera6285/opentk
 public static extern bool GetConfigs(EGLDisplay dpy, EGLConfig[] configs, int config_size, out int num_config);
예제 #46
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern EGLSurface CreatePbufferFromClientBuffer(EGLDisplay dpy, int buftype, EGLClientBuffer buffer, EGLConfig config, int[] attrib_list);
예제 #47
0
파일: Egl.cs 프로젝트: valera6285/opentk
 public static extern bool ChooseConfig(EGLDisplay dpy, int[] attrib_list, [In, Out] EGLConfig[] configs, int config_size, out int num_config);
예제 #48
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern bool ReleaseTexImage(EGLDisplay dpy, EGLSurface surface, int buffer);
예제 #49
0
파일: Egl.cs 프로젝트: valera6285/opentk
 public static extern bool GetConfigAttrib(EGLDisplay dpy, EGLConfig config, int attribute, out int value);
예제 #50
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 static extern IntPtr eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, int[] attrib_list);
예제 #51
0
파일: Egl.cs 프로젝트: valera6285/opentk
 public static extern EGLSurface CreateWindowSurface(EGLDisplay dpy, EGLConfig config, IntPtr win, IntPtr attrib_list);
예제 #52
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern bool DestroyContext(EGLDisplay dpy, EGLContext ctx);
예제 #53
0
파일: Egl.cs 프로젝트: valera6285/opentk
 public static extern EGLSurface CreatePbufferSurface(EGLDisplay dpy, EGLConfig config, int[] attrib_list);
예제 #54
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern bool QueryContext(EGLDisplay dpy, EGLContext ctx, int attribute, out int value);
예제 #55
0
파일: Egl.cs 프로젝트: valera6285/opentk
 public static extern EGLSurface CreatePixmapSurface(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, int[] attrib_list);
예제 #56
0
파일: Egl.cs 프로젝트: White-Wolf/Minesharp
 public static extern bool CopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
예제 #57
0
파일: Egl.cs 프로젝트: hobum-kwon/opentk
 public static extern bool QuerySurfacePointerANGLE(EGLDisplay display, EGLSurface surface, int attribute, out IntPtr value);