Class AbstractRenderSystem
- java.lang.Object
-
- gaia.cu9.ari.gaiaorbit.render.system.AbstractRenderSystem
-
- All Implemented Interfaces:
IRenderSystem
- Direct Known Subclasses:
BillboardSpriteRenderSystem
,BillboardStarRenderSystem
,FontRenderSystem
,ImmediateRenderSystem
,ModelBatchRenderSystem
,ModelBatchTessellationRenderSystem
,ShapeRenderSystem
public abstract class AbstractRenderSystem extends java.lang.Object implements IRenderSystem
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
AbstractRenderSystem.RenderSystemRunnable
-
Field Summary
Fields Modifier and Type Field Description protected float[]
alphas
protected com.badlogic.gdx.math.Vector3
aux
protected java.util.Comparator<IRenderable>
comp
Comparator of renderables, in case of needstatic boolean
POINT_UPDATE_FLAG
When this is true, new point information is available, so new data is streamed to the GPUprotected com.badlogic.gdx.utils.Array<AbstractRenderSystem.RenderSystemRunnable>
postRunnables
protected com.badlogic.gdx.utils.Array<AbstractRenderSystem.RenderSystemRunnable>
preRunnables
protected ExtShaderProgram[]
programs
RenderingContext
rc
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractRenderSystem(SceneGraphNode.RenderGroup rg, float[] alphas, ExtShaderProgram[] programs)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
addEffectsUniforms(ExtShaderProgram shaderProgram, ICamera camera)
protected void
addGravWaveUniforms(ExtShaderProgram shaderProgram)
void
addPostRunnables(AbstractRenderSystem.RenderSystemRunnable... r)
void
addPreRunnables(AbstractRenderSystem.RenderSystemRunnable... r)
protected void
addRelativisticUniforms(ExtShaderProgram shaderProgram, ICamera camera)
float
getAlpha(ComponentTypes ct)
float
getAlpha(IRenderable renderable)
Computes the alpha opacity value of a given renderable using its component typesSceneGraphNode.RenderGroup
getRenderGroup()
protected ExtShaderProgram
getShaderProgram()
void
render(com.badlogic.gdx.utils.Array<IRenderable> renderables, ICamera camera, double t, RenderingContext rc)
abstract void
renderStud(com.badlogic.gdx.utils.Array<IRenderable> renderables, ICamera camera, double t)
void
resize(int w, int h)
protected void
run(com.badlogic.gdx.utils.Array<AbstractRenderSystem.RenderSystemRunnable> runnables, com.badlogic.gdx.utils.Array<IRenderable> renderables, ICamera camera)
void
updateBatchSize(int w, int h)
-
-
-
Field Detail
-
POINT_UPDATE_FLAG
public static boolean POINT_UPDATE_FLAG
When this is true, new point information is available, so new data is streamed to the GPU
-
programs
protected ExtShaderProgram[] programs
-
alphas
protected float[] alphas
-
comp
protected java.util.Comparator<IRenderable> comp
Comparator of renderables, in case of need
-
rc
public RenderingContext rc
-
aux
protected com.badlogic.gdx.math.Vector3 aux
-
preRunnables
protected com.badlogic.gdx.utils.Array<AbstractRenderSystem.RenderSystemRunnable> preRunnables
-
postRunnables
protected com.badlogic.gdx.utils.Array<AbstractRenderSystem.RenderSystemRunnable> postRunnables
-
-
Constructor Detail
-
AbstractRenderSystem
protected AbstractRenderSystem(SceneGraphNode.RenderGroup rg, float[] alphas, ExtShaderProgram[] programs)
-
-
Method Detail
-
getRenderGroup
public SceneGraphNode.RenderGroup getRenderGroup()
- Specified by:
getRenderGroup
in interfaceIRenderSystem
-
render
public void render(com.badlogic.gdx.utils.Array<IRenderable> renderables, ICamera camera, double t, RenderingContext rc)
- Specified by:
render
in interfaceIRenderSystem
-
renderStud
public abstract void renderStud(com.badlogic.gdx.utils.Array<IRenderable> renderables, ICamera camera, double t)
-
addPreRunnables
public void addPreRunnables(AbstractRenderSystem.RenderSystemRunnable... r)
-
addPostRunnables
public void addPostRunnables(AbstractRenderSystem.RenderSystemRunnable... r)
-
run
protected void run(com.badlogic.gdx.utils.Array<AbstractRenderSystem.RenderSystemRunnable> runnables, com.badlogic.gdx.utils.Array<IRenderable> renderables, ICamera camera)
-
getAlpha
public float getAlpha(IRenderable renderable)
Computes the alpha opacity value of a given renderable using its component types- Parameters:
renderable
- The renderable- Returns:
- The alpha value as the product of all the alphas of its component types.
-
getAlpha
public float getAlpha(ComponentTypes ct)
-
resize
public void resize(int w, int h)
- Specified by:
resize
in interfaceIRenderSystem
-
updateBatchSize
public void updateBatchSize(int w, int h)
- Specified by:
updateBatchSize
in interfaceIRenderSystem
-
addEffectsUniforms
protected void addEffectsUniforms(ExtShaderProgram shaderProgram, ICamera camera)
-
addRelativisticUniforms
protected void addRelativisticUniforms(ExtShaderProgram shaderProgram, ICamera camera)
-
addGravWaveUniforms
protected void addGravWaveUniforms(ExtShaderProgram shaderProgram)
-
getShaderProgram
protected ExtShaderProgram getShaderProgram()
-
-