Class ImmediateModeRenderSystem
java.lang.Object
gaiasky.render.system.AbstractRenderSystem
gaiasky.render.system.ImmediateModeRenderSystem
- All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable, IRenderSystem, Comparable<IRenderSystem>
- Direct Known Subclasses:
InstancedRenderSystem, LineRenderSystem, ParticleEffectsRenderer, PointCloudRenderSystem, PointPrimitiveRenderSystem, PrimitiveVertexRenderSystem
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classprotected static classNested classes/interfaces inherited from class AbstractRenderSystem
AbstractRenderSystem.RenderSystemRunnable -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final com.badlogic.gdx.math.Matrix4protected ImmediateModeRenderSystem.MeshDataprotected Set<IRenderable> protected com.badlogic.gdx.utils.Array<ImmediateModeRenderSystem.MeshData> protected intprotected int[]protected float[]Fields 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
ConstructorsModifierConstructorDescriptionprotectedImmediateModeRenderSystem(SceneRenderer sceneRenderer, RenderGroup rg, float[] alphas, ExtShaderProgram[] programs) protectedImmediateModeRenderSystem(SceneRenderer sceneRenderer, RenderGroup rg, float[] alphas, ExtShaderProgram[] programs, int tempVertsSize) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddAffineTransformUniforms(ExtShaderProgram program, AffineTransformations affine) voidclearMeshData(int i) Clears the mesh data at the index ivoidvoidcolor(double r, double g, double b, double a) voidcolor(float colorBits) voidcolor(float r, float g, float b, float a) voidcolor(com.badlogic.gdx.graphics.Color color) protected intCreates a new mesh data object and adds it to the first available index in the meshes arrayvoiddispose()protected voidensureTempIndicesSize(int size) This function makes sure that the tempIndices array has at least the given size.protected voidensureTempVertsSize(int size) This function makes sure that the tempVerts array has at least the given size.protected intgetCount(IRenderable renderable) protected com.badlogic.gdx.utils.IntArraygetCounts(IRenderable renderable) protected intgetOffset(IRenderable renderable) protected com.badlogic.gdx.utils.IntArraygetOffsets(IRenderable renderable) protected booleaninGpu(IRenderable renderable) protected abstract voidprotected voidsetCount(IRenderable renderable, int count) protected voidsetInGpu(IRenderable renderable, boolean state) protected voidsetOffset(IRenderable renderable, int offset) voidvertex(float x, float y, float z) Methods inherited from class AbstractRenderSystem
addCameraUpCubemapMode, addDepthBufferUniforms, addEffectsUniforms, addGravWaveUniforms, addMotionTrailsUniforms, addPostRunnables, addPreRunnables, addRelativisticUniforms, addVRScale, compareTo, getAlpha, getAlpha, getAlpha, getRenderGroup, getShaderProgram, getShaderProgram, initShaderProgram, render, renderStud, 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.abstract voidrenderStud(List<IRenderable> renderables, ICamera camera, double t) 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
-
meshIdx
protected int meshIdx -
meshes
-
curr
-
tempVerts
protected float[] tempVerts -
tempIndices
protected int[] tempIndices -
inGpu
-
auxMat
protected final com.badlogic.gdx.math.Matrix4 auxMat
-
-
Constructor Details
-
ImmediateModeRenderSystem
protected ImmediateModeRenderSystem(SceneRenderer sceneRenderer, RenderGroup rg, float[] alphas, ExtShaderProgram[] programs) -
ImmediateModeRenderSystem
protected ImmediateModeRenderSystem(SceneRenderer sceneRenderer, RenderGroup rg, float[] alphas, ExtShaderProgram[] programs, int tempVertsSize)
-
-
Method Details
-
createMeshData
protected int createMeshData()Creates a new mesh data object and adds it to the first available index in the meshes array- Returns:
- The index of the new mesh data in meshes
-
clearMeshes
public void clearMeshes() -
clearMeshData
public void clearMeshData(int i) Clears the mesh data at the index i- Parameters:
i- The index of the mesh data to remove
-
initVertices
protected abstract void initVertices() -
inGpu
-
setInGpu
-
setOffset
-
getOffset
-
getOffsets
-
setCount
-
getCount
-
getCounts
-
dispose
public void dispose()- Specified by:
disposein interfacecom.badlogic.gdx.utils.Disposable- Overrides:
disposein classAbstractRenderSystem
-
ensureTempVertsSize
protected void ensureTempVertsSize(int size) This function makes sure that the tempVerts array has at least the given size. After calling this function, the elements of tempVerts may have been cleared.- Parameters:
size- The size to ensure
-
ensureTempIndicesSize
protected void ensureTempIndicesSize(int size) This function makes sure that the tempIndices array has at least the given size. After calling this function, the elements of tempIndices may have been cleared.- Parameters:
size- The size to ensure
-
color
public void color(com.badlogic.gdx.graphics.Color color) -
color
public void color(float r, float g, float b, float a) -
color
public void color(double r, double g, double b, double a) -
color
public void color(float colorBits) -
vertex
public void vertex(float x, float y, float z) -
addAffineTransformUniforms
-