Module technology.sola.engine
Class SolaEntityGraphicsModule<V extends technology.sola.ecs.view.ViewEntry>
java.lang.Object
technology.sola.engine.defaults.graphics.modules.SolaGraphicsModule
technology.sola.engine.defaults.graphics.modules.SolaEntityGraphicsModule<V>
- All Implemented Interfaces:
Comparable<SolaGraphicsModule>
- Direct Known Subclasses:
CircleEntityGraphicsModule
,DebugEntityGraphicsModule
,ParticleEmitterEntityGraphicsModule
,RectangleEntityGraphicsModule
,SpriteEntityGraphicsModule
,TriangleEntityGraphicsModule
@NullMarked
public abstract class SolaEntityGraphicsModule<V extends technology.sola.ecs.view.ViewEntry>
extends SolaGraphicsModule
SolaEntityGraphicsModule adds rendering functionality to
SolaGraphics
for
rendering Entity
that have specified Component
s.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected TransformComponent
getTransformForAppliedCamera
(TransformComponent entityTransform, Matrix3D cameraScaleTransform, Matrix3D cameraTranslationTransform) Utility method for calculating the transform when a camera's transform is applied to another transform.abstract technology.sola.ecs.view.View<V>
getViewToRender
(technology.sola.ecs.World world) abstract void
renderEntity
(Renderer renderer, V viewEntry, TransformComponent cameraModifiedEntityTransform) Called on eachEntity
to render it.void
renderEntity
(Renderer renderer, V viewEntry, Matrix3D cameraScaleTransform, Matrix3D cameraTranslationTransform) Called on eachEntity
to render it.void
renderMethod
(Renderer renderer, technology.sola.ecs.World world, Matrix3D cameraScaleTransform, Matrix3D cameraTranslationTransform) The specific render method for a graphics module that is called once per frame if active.
-
Constructor Details
-
SolaEntityGraphicsModule
public SolaEntityGraphicsModule()
-
-
Method Details
-
getViewToRender
- Parameters:
world
- theWorld
- Returns:
- the view of entities
-
renderEntity
public abstract void renderEntity(Renderer renderer, V viewEntry, TransformComponent cameraModifiedEntityTransform) Called on eachEntity
to render it. ATransformComponent
instance with the camera's transform applied is provided for each entity. If an entity has aLayerComponent
it will be rendered to its layer.- Parameters:
renderer
- tbeRenderer
instanceviewEntry
- theViewEntry
containing theEntity
to rendercameraModifiedEntityTransform
- aTransformComponent
with the camera's transform applied to the entity's transform
-
renderEntity
public void renderEntity(Renderer renderer, V viewEntry, Matrix3D cameraScaleTransform, Matrix3D cameraTranslationTransform) Called on eachEntity
to render it. It calculates aTransformComponent
instance with the camera's transform applied which is then passed into therenderEntity(Renderer, ViewEntry, TransformComponent)
method. If an entity has aLayerComponent
it will be rendered to its layer.- Parameters:
renderer
- tbeRenderer
instanceviewEntry
- theViewEntry
containing theEntity
to rendercameraScaleTransform
- the camera's scalecameraTranslationTransform
- the camera's translation
-
renderMethod
public void renderMethod(Renderer renderer, technology.sola.ecs.World world, Matrix3D cameraScaleTransform, Matrix3D cameraTranslationTransform) Description copied from class:SolaGraphicsModule
The specific render method for a graphics module that is called once per frame if active.- Specified by:
renderMethod
in classSolaGraphicsModule
- Parameters:
renderer
- tbeRenderer
instanceworld
- theWorld
instancecameraScaleTransform
- the camera's scalecameraTranslationTransform
- the camera's translation
-
getTransformForAppliedCamera
protected TransformComponent getTransformForAppliedCamera(TransformComponent entityTransform, Matrix3D cameraScaleTransform, Matrix3D cameraTranslationTransform) Utility method for calculating the transform when a camera's transform is applied to another transform.- Parameters:
entityTransform
- theEntity
's transformcameraScaleTransform
- the camera's scalecameraTranslationTransform
- the camera's translate- Returns:
- the resulting
TransformComponent
-