Class SceneGraphRenderer

java.lang.Object
gaiasky.render.AbstractRenderer
gaiasky.render.SceneGraphRenderer
All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable, IObserver, IProcessRenderer

public class SceneGraphRenderer extends AbstractRenderer implements IProcessRenderer, IObserver
Renders the scene graph
  • Field Details

    • instance

      public static SceneGraphRenderer instance
    • visible

      public static ComponentTypes visible
      Contains the flags representing each type's visibility
    • times

      public static long[] times
      Contains the last update time of each of the flags
    • alphas

      public static float[] alphas
      Alpha values for each type
    • renderLists

      public com.badlogic.gdx.utils.Array<com.badlogic.gdx.utils.Array<IRenderable>> renderLists
      Render lists for all render groups
    • shadowMapFb

      public com.badlogic.gdx.graphics.glutils.FrameBuffer[][] shadowMapFb
    • smTexMap

      public Map<ModelBody,​com.badlogic.gdx.graphics.Texture> smTexMap
    • smCombinedMap

      public Map<ModelBody,​com.badlogic.gdx.math.Matrix4> smCombinedMap
  • Constructor Details

    • SceneGraphRenderer

      public SceneGraphRenderer(VRContext vrContext)
  • Method Details

    • initialise

      public static void initialise(com.badlogic.gdx.assets.AssetManager manager, VRContext vrContext)
    • renderLists

      public static com.badlogic.gdx.utils.Array<com.badlogic.gdx.utils.Array<IRenderable>> renderLists()
    • initialize

      public void initialize(com.badlogic.gdx.assets.AssetManager manager)
      Description copied from interface: IProcessRenderer
      Initializes the renderer, sending all the necessary assets to the manager for loading
      Specified by:
      initialize in interface IProcessRenderer
      Parameters:
      manager - The asset manager
    • doneLoading

      public void doneLoading(com.badlogic.gdx.assets.AssetManager manager)
      Description copied from interface: IProcessRenderer
      Actually initializes all the clockwork of this renderer using the assets in the given manager
      Specified by:
      doneLoading in interface IProcessRenderer
      Parameters:
      manager - The asset manager
    • renderGlowPass

      public void renderGlowPass(ICamera camera, com.badlogic.gdx.graphics.glutils.FrameBuffer frameBuffer, int eye)
    • render

      public void render(ICamera camera, double t, int rw, int rh, int tw, int th, com.badlogic.gdx.graphics.glutils.FrameBuffer fb, IPostProcessor.PostProcessBean ppb)
      Description copied from interface: IProcessRenderer
      Renders the scene
      Specified by:
      render in interface IProcessRenderer
      Parameters:
      camera - The camera to use
      t - The delta time computed in the update method in seconds
      rw - The width of the render buffer
      rh - The height of the render buffer
      tw - The final target width
      th - The final target height
      fb - The frame buffer to write to, if any
      ppb - The post process bean
    • getCurrentSGR

      public ISGR getCurrentSGR()
    • getGlowFb

      public com.badlogic.gdx.graphics.glutils.FrameBuffer getGlowFb()
    • renderScene

      public void renderScene(ICamera camera, double t, RenderingContext rc)
      Renders the scene
      Parameters:
      camera - The camera to use
      t - The time in seconds since the start
      rc - The render context
    • renderSystem

      protected void renderSystem(ICamera camera, double t, RenderingContext renderContext, Class<? extends IRenderSystem> clazz)
      Renders all the systems which are the same type of the given class
      Parameters:
      camera - The camera to use
      t - The time in seconds since the start
      renderContext - The render context
      clazz - The class
    • clearLists

      public void clearLists()
      This must be called when all the rendering for the current frame has finished.
    • isOn

      public boolean isOn(ComponentTypes.ComponentType comp)
      Checks if a given component type is on
      Parameters:
      comp - The component
      Returns:
      Whether the component is on
    • allOn

      public boolean allOn(ComponentTypes comp)
      Checks if the component types are all on
      Parameters:
      comp - The components
      Returns:
      Whether the components are all on
    • isOn

      public boolean isOn(int ordinal)
    • notify

      public void notify(Events event, Object... data)
      Specified by:
      notify in interface IObserver
    • resize

      public void resize(int w, int h, int rw, int rh)
    • resize

      public void resize(int w, int h, int rw, int rh, boolean resizeRenderSys)
    • resizeRenderSystems

      public void resizeRenderSystems(int w, int h, int rw, int rh)
    • dispose

      public void dispose()
      Specified by:
      dispose in interface com.badlogic.gdx.utils.Disposable
    • updateLineRenderSystem

      public void updateLineRenderSystem()