java.lang.Object
technology.sola.engine.graphics.modules.SolaGraphicsModule
technology.sola.engine.graphics.modules.SolaEntityGraphicsModule<technology.sola.ecs.view.View2Entry<ColliderComponent,TransformComponent>>
technology.sola.engine.debug.DebugGraphicsModule
- All Implemented Interfaces:
Comparable<SolaGraphicsModule>
@NullMarked
public class DebugGraphicsModule
extends SolaEntityGraphicsModule<technology.sola.ecs.view.View2Entry<ColliderComponent,TransformComponent>>
DebugEntityGraphicsModule is a
SolaEntityGraphicsModule implementation for rendering debug information for a World.
It will render broad phase debug information and colliders for Entity that have a ColliderComponent.-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDebugGraphicsModule(@Nullable CollisionDetectionSystem collisionDetectionSystem, EventHub eventHub) Creates an instance of DebugEntityGraphicsModule. -
Method Summary
Modifier and TypeMethodDescriptionintgetOrder()Gets the order of this graphics module.technology.sola.ecs.view.View<technology.sola.ecs.view.View2Entry<ColliderComponent,TransformComponent>> getViewToRender(technology.sola.ecs.World world) Returns aViewofEntitythat need to be rendered viaSolaEntityGraphicsModule.renderEntity(Renderer, V, TransformComponent)booleanWhetherColliderComponent.getBoundingBox(TransformComponent)debug rendering is enabled or not.booleanWhetherCollisionDetectionBroadPhasedebug rendering is enabled or not.booleanWhetherColliderComponent.getShape(TransformComponent)debug rendering is enabled or not.voidrender(Renderer renderer, technology.sola.ecs.World world, Matrix3D cameraScaleTransform, Matrix3D cameraTranslationTransform) The main render method for a graphics module that is called once per frame.voidrenderEntity(Renderer renderer, technology.sola.ecs.view.View2Entry<ColliderComponent, TransformComponent> viewEntry, TransformComponent cameraModifiedEntityTransform) Called on eachEntityto render it.voidsetRenderingBoundingBoxes(boolean isEnabled) Enable or disableColliderComponent.getBoundingBox(TransformComponent)debug rendering.voidsetRenderingBroadPhase(boolean isEnabled) Enable or disableCollisionDetectionBroadPhasedebug rendering.voidsetRenderingColliders(boolean isEnabled) Enabled or disableColliderComponent.getShape(TransformComponent)debug rendering.Methods inherited from class technology.sola.engine.graphics.modules.SolaEntityGraphicsModule
getTransformForAppliedCamera, renderEntity, renderMethodMethods inherited from class technology.sola.engine.graphics.modules.SolaGraphicsModule
compareTo, isActive, setActive
-
Field Details
-
Constructor Details
-
DebugGraphicsModule
public DebugGraphicsModule(@Nullable CollisionDetectionSystem collisionDetectionSystem, EventHub eventHub) Creates an instance of DebugEntityGraphicsModule.- Parameters:
collisionDetectionSystem- theCollisionDetectionSysteminstanceeventHub- theEventHubinstance
-
-
Method Details
-
getViewToRender
public technology.sola.ecs.view.View<technology.sola.ecs.view.View2Entry<ColliderComponent,TransformComponent>> getViewToRender(technology.sola.ecs.World world) Description copied from class:SolaEntityGraphicsModuleReturns aViewofEntitythat need to be rendered viaSolaEntityGraphicsModule.renderEntity(Renderer, V, TransformComponent)- Specified by:
getViewToRenderin classSolaEntityGraphicsModule<technology.sola.ecs.view.View2Entry<ColliderComponent,TransformComponent>> - Parameters:
world- theWorld- Returns:
- the view of entities
-
render
public void render(Renderer renderer, technology.sola.ecs.World world, Matrix3D cameraScaleTransform, Matrix3D cameraTranslationTransform) Description copied from class:SolaGraphicsModuleThe main render method for a graphics module that is called once per frame. It will call theSolaGraphicsModule.renderMethod(Renderer, World, Matrix3D, Matrix3D)if the module is active.- Overrides:
renderin classSolaGraphicsModule- Parameters:
renderer- tbeRendererinstanceworld- theWorldinstancecameraScaleTransform- the camera's scalecameraTranslationTransform- the camera's translation
-
renderEntity
public void renderEntity(Renderer renderer, technology.sola.ecs.view.View2Entry<ColliderComponent, TransformComponent> viewEntry, TransformComponent cameraModifiedEntityTransform) Description copied from class:SolaEntityGraphicsModuleCalled on eachEntityto render it. ATransformComponentinstance with the camera's transform applied is provided for each entity. If an entity has aLayerComponentit will be rendered to its layer.- Specified by:
renderEntityin classSolaEntityGraphicsModule<technology.sola.ecs.view.View2Entry<ColliderComponent,TransformComponent>> - Parameters:
renderer- tbeRendererinstanceviewEntry- theViewEntrycontaining theEntityto rendercameraModifiedEntityTransform- aTransformComponentwith the camera's transform applied to the entity's transform
-
getOrder
public int getOrder()Description copied from class:SolaGraphicsModuleGets the order of this graphics module. A higher value means it will be rendered on top.- Overrides:
getOrderin classSolaGraphicsModule- Returns:
- the order of this graphics module
-
isRenderingColliders
public boolean isRenderingColliders()WhetherColliderComponent.getShape(TransformComponent)debug rendering is enabled or not.- Returns:
- true if collider debug rendering is enabled
-
setRenderingColliders
public void setRenderingColliders(boolean isEnabled) Enabled or disableColliderComponent.getShape(TransformComponent)debug rendering.- Parameters:
isEnabled- new collider debug rendering enabled state
-
isRenderingBoundingBoxes
public boolean isRenderingBoundingBoxes()WhetherColliderComponent.getBoundingBox(TransformComponent)debug rendering is enabled or not.- Returns:
- true if collider bounding box debug rendering is enabled
-
setRenderingBoundingBoxes
public void setRenderingBoundingBoxes(boolean isEnabled) Enable or disableColliderComponent.getBoundingBox(TransformComponent)debug rendering.- Parameters:
isEnabled- new collider bounding box debug rendering enabled state
-
isRenderingBroadPhase
public boolean isRenderingBroadPhase()WhetherCollisionDetectionBroadPhasedebug rendering is enabled or not.- Returns:
- true if collision detection broad phase debug rendering is enabled
-
setRenderingBroadPhase
public void setRenderingBroadPhase(boolean isEnabled) Enable or disableCollisionDetectionBroadPhasedebug rendering.- Parameters:
isEnabled- new collision detection broad phase debug rendering enabled state
-