Class Renderer3d

  • All Implemented Interfaces:
    com.jogamp.opengl.GLEventListener, EventListener
    Direct Known Subclasses:
    AWTRenderer3d, DepthPeelingRenderer3d, ShaderRenderer3d

    public class Renderer3d
    extends Object
    implements com.jogamp.opengl.GLEventListener
    The Renderer3d 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
      • profileDisplayTimer

        protected TicToc profileDisplayTimer
      • lastRenderingTimeMs

        protected double lastRenderingTimeMs
    • Constructor Detail

      • Renderer3d

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

        public Renderer3d()
      • Renderer3d

        public Renderer3d​(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​(com.jogamp.opengl.GLAutoDrawable 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 com.jogamp.opengl.GLEventListener
      • display

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

        public void reshape​(com.jogamp.opengl.GLAutoDrawable canvas,
                            int x,
                            int y,
                            int width,
                            int height)
        Called when the GLAutoDrawable is resized.
        Specified by:
        reshape in interface com.jogamp.opengl.GLEventListener
      • 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 -
      • dispose

        public void dispose​(com.jogamp.opengl.GLAutoDrawable arg0)
        Specified by:
        dispose in interface com.jogamp.opengl.GLEventListener
      • 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.
      • getLastRenderingTimeMs

        public double getLastRenderingTimeMs()