Class SceneRenderer

java.lang.Object
gaiasky.scene.system.render.SceneRenderer
All Implemented Interfaces:
IObserver, ISceneRenderer

public class SceneRenderer extends Object implements ISceneRenderer, IObserver
Initializes the render infrastructure renders the scene using different render systems.
  • Field Details

    • visible

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

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

      public float[] alphas
      Alpha values for each type.
    • shadowMapFb

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

      public Map<com.badlogic.ashley.core.Entity,com.badlogic.gdx.graphics.Texture> smTexMap
      Map containing the shadow map for each model body.
    • smCombinedMap

      public Map<com.badlogic.ashley.core.Entity,com.badlogic.gdx.math.Matrix4> smCombinedMap
      Map containing the combined matrix for each model body.
  • Constructor Details

  • Method Details

    • initialize

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

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

      public void setRendering(boolean rendering)
    • renderListsFront

      public List<List<IRenderable>> renderListsFront()
      Description copied from interface: ISceneRenderer
      Returnst he render lists of this renderer.
      Specified by:
      renderListsFront in interface ISceneRenderer
    • renderListsBack

      public List<List<IRenderable>> renderListsBack()
    • renderGlowPass

      public void renderGlowPass(ICamera camera, com.badlogic.gdx.graphics.glutils.FrameBuffer frameBuffer)
      Description copied from interface: ISceneRenderer
      Renders the glow pass for the light glow.
      Specified by:
      renderGlowPass in interface ISceneRenderer
      Parameters:
      camera - The camera.
      frameBuffer - The frame buffer.
    • 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)
    • getRenderProcess

      public IRenderMode getRenderProcess()
      Description copied from interface: ISceneRenderer
      Gets the current render process.
      Specified by:
      getRenderProcess in interface ISceneRenderer
      Returns:
      The render mode.
    • getGlowFrameBuffer

      public com.badlogic.gdx.graphics.glutils.FrameBuffer getGlowFrameBuffer()
      Description copied from interface: ISceneRenderer
      Returns the post-processing glow frame buffer.
      Specified by:
      getGlowFrameBuffer in interface ISceneRenderer
      Returns:
      The glow frame buffer.
    • renderScene

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

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

      protected void renderSystems(ICamera camera, double t, RenderingContext renderContext, Class<?>... systemClasses)
      Renders all the systems which are of one of the given classes.
      Parameters:
      camera - The camera to use.
      t - The time in seconds since the start.
      renderContext - The render context.
      systemClasses - The classes.
    • swapRenderLists

      public void swapRenderLists()
      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
      Specified by:
      isOn in interface ISceneRenderer
      Parameters:
      comp - The component
      Returns:
      Whether the component is on
    • allOn

      public boolean allOn(ComponentTypes comp)
      Checks if the component types are all on
      Specified by:
      allOn in interface ISceneRenderer
      Parameters:
      comp - The components
      Returns:
      Whether the components are all on
    • alpha

      public float alpha(ComponentTypes comp)
      Computes the alpha of this component types by multiplying the alphas of all components
      Parameters:
      comp - The components
      Returns:
      The alpha value
    • isOn

      public boolean isOn(int ordinal)
    • notify

      public void notify(Event event, Object source, Object... data)
      Description copied from interface: IObserver
      Event notification call.
      Specified by:
      notify in interface IObserver
      Parameters:
      event - The event type.
      source - The source object, if any.
      data - The data associated with this event.
    • resize

      public void resize(int tw, int th, int rw, int rh)
      Resizes the scene renderer and all its sub-renderers and assets, but not the render systems.
      Parameters:
      tw - New target (screen) width.
      th - New target (screen) height.
      rw - New render buffer width.
      rh - New render buffer height.
    • resize

      public void resize(int tw, int th, int rw, int rh, boolean resizeRenderSys)
      Resizes the scene renderer and all its sub-renderers and assets.
      Parameters:
      tw - New target (screen) width.
      th - New target (screen) height.
      rw - New render buffer width.
      rh - New render buffer height.
      resizeRenderSys - Also resize all render systems.
    • resizeRenderSystems

      public void resizeRenderSystems(int tw, int th, int rw, int rh)
      Resizes the render systems of this renderer.
      Parameters:
      tw - New target (screen) width.
      th - New target (screen) height.
      rw - New render buffer width.
      rh - New render buffer height.
    • dispose

      public void dispose()
    • updateLineRenderSystem

      public void updateLineRenderSystem()
    • resetRenderSystemFlags

      public void resetRenderSystemFlags()
      Resets the render flags for all systems.