Package gaiasky.scene.system.render.draw
Class ParticleSetInstancedRenderer
java.lang.Object
gaiasky.render.system.AbstractRenderSystem
gaiasky.render.system.ImmediateModeRenderSystem
gaiasky.render.system.InstancedRenderSystem
gaiasky.scene.system.render.draw.ParticleSetInstancedRenderer
- All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable
,IObserver
,IRenderSystem
,Comparable<IRenderSystem>
Renders particle sets as instanced triangles. It contains the base particle renderer (only positions), and the
extended particle renderer (with positions, sizes, colors, proper motions, etc.).
-
Nested Class Summary
Nested classes/interfaces inherited from class gaiasky.render.system.InstancedRenderSystem
InstancedRenderSystem.InstancedModel
Nested classes/interfaces inherited from class gaiasky.render.system.ImmediateModeRenderSystem
ImmediateModeRenderSystem.MeshData, ImmediateModeRenderSystem.OwnUsage
Nested classes/interfaces inherited from class gaiasky.render.system.AbstractRenderSystem
AbstractRenderSystem.RenderSystemRunnable
-
Field Summary
Fields inherited from class gaiasky.render.system.InstancedRenderSystem
models
Fields inherited from class gaiasky.render.system.ImmediateModeRenderSystem
auxMat, curr, inGpu, meshes, meshIdx, tempIndices, tempVerts
Fields inherited from class gaiasky.render.system.AbstractRenderSystem
alphas, aux3d, aux3f, comp, postRunners, preRunners, programs, rc, sceneRenderer
-
Constructor Summary
ConstructorDescriptionParticleSetInstancedRenderer
(SceneRenderer sceneRenderer, RenderGroup rg, float[] alphas, ExtShaderProgram[] shaders) Constructs a particle set instanced renderer using the given model (seeModelCache
for more information on available models) and the given parameters. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addAttributesDivisor1
(com.badlogic.gdx.utils.Array<com.badlogic.gdx.graphics.VertexAttribute> attributes, int primitive) Adds the required vertex attributes for this renderer to the given list.void
Event notification call.protected void
Computes the offset for each vertex attribute.protected void
Computes the offset for each vertex attribute in the instanced array.protected void
preRenderObjects
(ExtShaderProgram shaderProgram, ICamera camera) protected void
renderObject
(ExtShaderProgram shaderProgram, IRenderable renderable) protected void
setInGpu
(IRenderable renderable, boolean state) Methods inherited from class gaiasky.render.system.InstancedRenderSystem
addAttributesDivisor0, addMeshData, buildAttributesDivisor0, buildAttributesDivisor1, getModel, getModel, initVertices, isWireframe, postRenderObjects, renderStud, setModel
Methods inherited from class gaiasky.render.system.ImmediateModeRenderSystem
addAffineTransformUniforms, clearMeshData, clearMeshes, color, color, color, color, createMeshData, dispose, ensureTempIndicesSize, ensureTempVertsSize, getCount, getOffset, inGpu, setCount, setOffset, vertex
Methods inherited from class gaiasky.render.system.AbstractRenderSystem
addCameraUpCubemapMode, addDepthBufferUniforms, addEffectsUniforms, addGravWaveUniforms, addPostRunnables, addPreRunnables, addPreviousFrameUniforms, addRelativisticUniforms, addVRScale, compareTo, getAlpha, getAlpha, getAlpha, getRenderGroup, getShaderProgram, getShaderProgram, initShaderProgram, render, resetFlags, resize, run, updateBatchSize
-
Field Details
-
logger
-
-
Constructor Details
-
ParticleSetInstancedRenderer
public ParticleSetInstancedRenderer(SceneRenderer sceneRenderer, RenderGroup rg, float[] alphas, ExtShaderProgram[] shaders) Constructs a particle set instanced renderer using the given model (seeModelCache
for more information on available models) and the given parameters.- Parameters:
sceneRenderer
- The scene renderer.rg
- The render group.alphas
- The alphas.shaders
- The shader programs to render quads.
-
-
Method Details
-
addAttributesDivisor1
protected void addAttributesDivisor1(com.badlogic.gdx.utils.Array<com.badlogic.gdx.graphics.VertexAttribute> attributes, int primitive) Description copied from class:InstancedRenderSystem
Adds the required vertex attributes for this renderer to the given list. These attributes are added for every instance (divisor=1)- Specified by:
addAttributesDivisor1
in classInstancedRenderSystem
- Parameters:
attributes
- The list of attributes with divisor=1primitive
- The rendering primitive.
-
offsets0
protected void offsets0(ImmediateModeRenderSystem.MeshData curr, InstancedRenderSystem.InstancedModel model) Description copied from class:InstancedRenderSystem
Computes the offset for each vertex attribute. The offsets will be used later in the render stage.- Specified by:
offsets0
in classInstancedRenderSystem
- Parameters:
curr
- The current mesh data.model
- The instanced model.
-
offsets1
protected void offsets1(ImmediateModeRenderSystem.MeshData curr, InstancedRenderSystem.InstancedModel model) Description copied from class:InstancedRenderSystem
Computes the offset for each vertex attribute in the instanced array. The offsets will be used later in the render stage.- Specified by:
offsets1
in classInstancedRenderSystem
- Parameters:
curr
- The current mesh data.model
- The instanced model.
-
preRenderObjects
- Overrides:
preRenderObjects
in classInstancedRenderSystem
-
renderObject
- Overrides:
renderObject
in classInstancedRenderSystem
-
setInGpu
- Overrides:
setInGpu
in classImmediateModeRenderSystem
-
notify
Description copied from interface:IObserver
Event notification call.
-