Class SharedDrawable

  • All Implemented Interfaces:
    Drawable

    public final class SharedDrawable
    extends java.lang.Object
    A Drawable implementation that shares its context with another Drawable. This is useful for background loading of resources. See org.lwjgl.test.opengl.multithread.BackgroundLoad for an example.
    Author:
    Spasi
    • Field Detail

      • pixel_format

        protected PixelFormat pixel_format
        The PixelFormat used to create the drawable.
      • peer_info

        protected org.lwjgl.opengl.PeerInfo peer_info
        Handle to the native GL rendering context
      • context

        protected org.lwjgl.opengl.ContextGL context
        The OpenGL Context.
    • Method Detail

      • createSharedContext

        public org.lwjgl.opengl.ContextGL createSharedContext()
      • getContext

        public org.lwjgl.opengl.ContextGL getContext()
      • checkGLError

        public void checkGLError()
      • setSwapInterval

        public void setSwapInterval​(int swap_interval)
      • initContext

        public void initContext​(float r,
                                float g,
                                float b)
      • releaseContext

        public void releaseContext()
                            throws LWJGLException
        Description copied from interface: Drawable
        If the Drawable's context is current in the current thread, no context will be current after a call to this method.
        Specified by:
        releaseContext in interface Drawable
        Throws:
        LWJGLException
      • destroy

        public void destroy()
        Description copied from interface: Drawable
        Destroys the Drawable.
        Specified by:
        destroy in interface Drawable
      • setCLSharingProperties

        public void setCLSharingProperties​(PointerBuffer properties)
                                    throws LWJGLException
        Description copied from interface: Drawable
        Sets the appropriate khr_gl_sharing properties in the target PointerBuffer, so that if it is used in a clCreateContext(FromType) call, the created CL context will be sharing objects with this Drawable's GL context. After a call to this method, the target buffer position will have advanced by 2 to 4 positions, depending on the implementation.
        Specified by:
        setCLSharingProperties in interface Drawable
        Parameters:
        properties - The target properties buffer. It must have at least 4 positions remaining.
        Throws:
        LWJGLException
      • checkDestroyed

        protected final void checkDestroyed()