Package gaiasky.render.system
Class AbstractRenderSystem
java.lang.Object
gaiasky.render.system.AbstractRenderSystem
- All Implemented Interfaces:
IRenderSystem
- Direct Known Subclasses:
BillboardSpriteRenderSystem,BillboardStarRenderSystem,FontRenderSystem,ImmediateRenderSystem,ModelBatchRenderSystem,ModelBatchTessellationRenderSystem,ShapeRenderSystem
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected float[]protected com.badlogic.gdx.math.Vector3protected Vector3dprotected Comparator<IRenderable>Comparator of renderables, in case of needstatic booleanWhen this is true, new point information is available, so new data is streamed to the GPUprotected com.badlogic.gdx.utils.Array<AbstractRenderSystem.RenderSystemRunnable>protected com.badlogic.gdx.utils.Array<AbstractRenderSystem.RenderSystemRunnable>protected ExtShaderProgram[] -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractRenderSystem(SceneGraphRenderer.RenderGroup rg, float[] alphas, ExtShaderProgram[] programs) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddDepthBufferUniforms(ExtShaderProgram shaderProgram, ICamera camera)Uniforms needed to compute the logarithmic depth buffer.protected voidaddEffectsUniforms(ExtShaderProgram shaderProgram, ICamera camera)protected voidaddGravWaveUniforms(ExtShaderProgram shaderProgram)voidvoidprotected voidaddPreviousFrameUniforms(ExtShaderProgram shaderProgram, ICamera camera)Uniforms needed for the velocity bufferprotected voidaddRelativisticUniforms(ExtShaderProgram shaderProgram, ICamera camera)protected voidaddVRScale(ExtShaderProgram shaderProgram)floatgetAlpha(ComponentTypes ct)floatgetAlpha(IRenderable renderable)Computes the alpha opacity value of a given renderable using its component typesprotected ExtShaderProgramvoidrender(com.badlogic.gdx.utils.Array<IRenderable> renderables, ICamera camera, double t, RenderingContext rc)abstract voidrenderStud(com.badlogic.gdx.utils.Array<IRenderable> renderables, ICamera camera, double t)voidresize(int w, int h)protected voidrun(com.badlogic.gdx.utils.Array<AbstractRenderSystem.RenderSystemRunnable> runnables, com.badlogic.gdx.utils.Array<IRenderable> renderables, ICamera camera)voidupdateBatchSize(int w, int h)
-
Field Details
-
POINT_UPDATE_FLAG
public static boolean POINT_UPDATE_FLAGWhen this is true, new point information is available, so new data is streamed to the GPU -
programs
-
alphas
protected float[] alphas -
comp
Comparator of renderables, in case of need -
rc
-
aux
protected com.badlogic.gdx.math.Vector3 aux -
auxd
-
preRunnables
-
postRunnables
-
-
Constructor Details
-
AbstractRenderSystem
protected AbstractRenderSystem(SceneGraphRenderer.RenderGroup rg, float[] alphas, ExtShaderProgram[] programs)
-
-
Method Details
-
getRenderGroup
- Specified by:
getRenderGroupin interfaceIRenderSystem
-
render
public void render(com.badlogic.gdx.utils.Array<IRenderable> renderables, ICamera camera, double t, RenderingContext rc)- Specified by:
renderin interfaceIRenderSystem
-
renderStud
public abstract void renderStud(com.badlogic.gdx.utils.Array<IRenderable> renderables, ICamera camera, double t) -
addPreRunnables
-
addPostRunnables
-
run
protected void run(com.badlogic.gdx.utils.Array<AbstractRenderSystem.RenderSystemRunnable> runnables, com.badlogic.gdx.utils.Array<IRenderable> renderables, ICamera camera) -
getAlpha
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
-
resize
public void resize(int w, int h)- Specified by:
resizein interfaceIRenderSystem
-
updateBatchSize
public void updateBatchSize(int w, int h)- Specified by:
updateBatchSizein interfaceIRenderSystem
-
addEffectsUniforms
-
addVRScale
-
addRelativisticUniforms
-
addGravWaveUniforms
-
addDepthBufferUniforms
Uniforms needed to compute the logarithmic depth buffer. They never change, so only add if not present- Parameters:
shaderProgram- The programcamera- The camera
-
addPreviousFrameUniforms
Uniforms needed for the velocity buffer- Parameters:
shaderProgram- The programcamera- The camera
-
getShaderProgram
-