Class BillboardProceduralRenderer
java.lang.Object
gaiasky.render.system.AbstractRenderSystem
gaiasky.scene.system.render.draw.BillboardProceduralRenderer
- All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable, IObserver, IRenderSystem, Comparable<IRenderSystem>
Renders billboard datasets generated procedurally using a compute shader stage.
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractRenderSystem
AbstractRenderSystem.RenderSystemRunnable -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final com.badlogic.gdx.math.Matrix4Auxiliary matrices.protected final com.badlogic.gdx.math.Matrix4protected static final Logger.LogFields inherited from class AbstractRenderSystem
alphas, aux3f, comp, postRunners, preRunners, programs, rc, sceneRendererModifier and TypeFieldDescriptionprotected final float[]protected final com.badlogic.gdx.math.Vector3protected Comparator<IRenderable> Comparator of renderables, in case of needprotected com.badlogic.gdx.utils.Array<AbstractRenderSystem.RenderSystemRunnable> protected com.badlogic.gdx.utils.Array<AbstractRenderSystem.RenderSystemRunnable> protected final ExtShaderProgram[]protected final SceneRenderer -
Constructor Summary
ConstructorsConstructorDescriptionBillboardProceduralRenderer(SceneRenderer sceneRenderer, RenderGroup rg, float[] alphas, ExtShaderProgram[] shaders, ComputeShaderProgram computeShader) Creates a billboard set renderer. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddAffineTransformUniforms(ExtShaderProgram program, AffineTransformations affine) protected voidprotected voidaddObjectTransformUniform(ExtShaderProgram program, RefSysTransform transform, Vector3Q bodyPos, double bodySize) voiddispose()voidEvent notification call.voidrenderStud(List<IRenderable> renderables, ICamera camera, double t) Methods inherited from class AbstractRenderSystem
addCameraUpCubemapMode, addDepthBufferUniforms, addEffectsUniforms, addGravWaveUniforms, addMotionTrailsUniforms, addPostRunnables, addPreRunnables, addRelativisticUniforms, addVRScale, compareTo, getAlpha, getAlpha, getAlpha, getRenderGroup, getShaderProgram, getShaderProgram, initShaderProgram, render, resize, run, updateBatchSizeModifier and TypeMethodDescriptionprotected voidaddCameraUpCubemapMode(ExtShaderProgram shaderProgram, ICamera camera) Adds the camera up vector (only in non-cubemap mode) to compute the billboard rotation.voidaddDepthBufferUniforms(ExtShaderProgram shaderProgram, ICamera camera) Uniforms needed to compute the logarithmic depth buffer.protected voidaddEffectsUniforms(ExtShaderProgram shaderProgram, ICamera camera) protected voidaddGravWaveUniforms(ExtShaderProgram shaderProgram) protected voidaddMotionTrailsUniforms(ExtShaderProgram shaderProgram, ICamera camera) Uniforms related to the motion trails effect for particle and star groups.voidvoidprotected voidaddRelativisticUniforms(ExtShaderProgram shaderProgram, ICamera camera) protected voidaddVRScale(ExtShaderProgram shaderProgram) intfloatgetAlpha(com.badlogic.ashley.core.Entity entity) floatgetAlpha(IRenderable renderable) Computes the alpha opacity value of a given renderable using its component typesfloatprotected ExtShaderProgramprotected ExtShaderProgramgetShaderProgram(ExtShaderProgram[] programs) protected voidInitializes metadata or essential uniforms in the shader program.voidrender(List<IRenderable> renderables, ICamera camera, double t, RenderingContext rc) Renders the given list of renderable objects.voidresize(int w, int h) Resize the current render target with the given width and height.protected voidrun(com.badlogic.gdx.utils.Array<AbstractRenderSystem.RenderSystemRunnable> runnables, List<IRenderable> renderables, ICamera camera) voidupdateBatchSize(int w, int h) Updates the size of object batches, if any.
-
Field Details
-
logger
-
auxMat1
protected final com.badlogic.gdx.math.Matrix4 auxMat1Auxiliary matrices. -
auxMat2
protected final com.badlogic.gdx.math.Matrix4 auxMat2
-
-
Constructor Details
-
BillboardProceduralRenderer
public BillboardProceduralRenderer(SceneRenderer sceneRenderer, RenderGroup rg, float[] alphas, ExtShaderProgram[] shaders, ComputeShaderProgram computeShader) Creates a billboard set renderer.- Parameters:
sceneRenderer- The scene renderer.rg- The render group.alphas- Alphas array.computeShader- The shader.
-
-
Method Details
-
addDatasetTransformUniform
-
addObjectTransformUniform
protected void addObjectTransformUniform(ExtShaderProgram program, RefSysTransform transform, Vector3Q bodyPos, double bodySize) -
addAffineTransformUniforms
-
renderStud
- Specified by:
renderStudin classAbstractRenderSystem
-
dispose
public void dispose()- Specified by:
disposein interfacecom.badlogic.gdx.utils.Disposable- Overrides:
disposein classAbstractRenderSystem
-
notify
-