Class NativeRenderer

  • All Implemented Interfaces:
    Renderer

    public class NativeRenderer
    extends Object
    implements Renderer
    The NativeRenderer object is a GLEventListener, that makes openGL calls necessary to initialize and render a Scene for an ICanvas. One can activate OpenGl errors in console by setting debugGL to true in the constructor One can activate OpenGl feedback in console by setting traceGL to true in the constructor
    Author:
    Martin Pernollet
    • Field Detail

      • view

        protected View view
      • width

        protected int width
      • height

        protected int height
      • doScreenshotAtNextDisplay

        protected boolean doScreenshotAtNextDisplay
      • image

        protected com.jogamp.opengl.util.texture.TextureData image
      • traceGL

        protected boolean traceGL
      • debugGL

        protected boolean debugGL
    • Constructor Detail

      • NativeRenderer

        public NativeRenderer​(View view)
        Initialize a Renderer attached to the given View.
      • NativeRenderer

        public NativeRenderer()
      • NativeRenderer

        public NativeRenderer​(View view,
                              boolean traceGL,
                              boolean debugGL)
        Initialize a Renderer attached to the given View, and activate GL trace and errors to console.
    • Method Detail

      • init

        public void init​(ICanvas canvas)
        Called when the GLAutoDrawable is rendered for the first time. When one calls Scene.init() function, this function is called and makes the OpenGL buffers initialization. Note: in this implementation, GL Exceptions are not triggered. To do so, make te following call at the beginning of the init() body: canvas.setGL( new DebugGL(canvas.getGL()) );
        Specified by:
        init in interface Renderer
      • display

        public void display​(ICanvas canvas)
        Called when the GLAutoDrawable requires a rendering. All call to rendering methods should appear here.
        Specified by:
        display in interface Renderer
      • reshape

        public void reshape​(ICanvas canvas,
                            int x,
                            int y,
                            int width,
                            int height)
        Called when the GLAutoDrawable is resized.
        Specified by:
        reshape in interface Renderer
      • updatePainterWithGL

        protected void updatePainterWithGL​(com.jogamp.opengl.GLAutoDrawable canvas)
        This method allows configuring the IPainter with the current GL context provided by the GLAutoDrawable. This may be usefull to override in case of a mocking GL (to avoid having the mock replaced by a real GL Context).
        Parameters:
        canvas -
      • nextDisplayUpdateScreenshot

        public void nextDisplayUpdateScreenshot()
      • getLastScreenshot

        public com.jogamp.opengl.util.texture.TextureData getLastScreenshot()
      • getWidth

        public int getWidth()
        Return the width that was given after the last resize event.
      • getHeight

        public int getHeight()
        Return the height that was given after the last resize event.