From 62a0b77b976dd04fe25062fd49c339db1d2a3c00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zsur=C3=B3=20Tibor?= Date: Thu, 9 Feb 2023 09:20:22 +0000 Subject: [PATCH 1/6] Add render events --- .../event/AfterRenderModelObjectEvent.java | 5 ++++ .../event/AfterRenderTerrainEvent.java | 5 ++++ .../commons/event/AfterRenderWaterEvent.java | 5 ++++ .../event/BeforeRenderModelObjectEvent.java | 5 ++++ .../event/BeforeRenderTerrainEvent.java | 5 ++++ .../commons/event/BeforeRenderWaterEvent.java | 5 ++++ .../mbrlabs/mundus/commons/event/Event.java | 7 +++++ .../scene3d/components/CullableComponent.java | 29 +++++++++++++++++++ .../scene3d/components/ModelComponent.java | 4 +++ .../scene3d/components/TerrainComponent.java | 4 +++ .../scene3d/components/WaterComponent.java | 4 +++ 11 files changed, 78 insertions(+) create mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderModelObjectEvent.java create mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderTerrainEvent.java create mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderWaterEvent.java create mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderModelObjectEvent.java create mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderTerrainEvent.java create mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderWaterEvent.java create mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/Event.java diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderModelObjectEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderModelObjectEvent.java new file mode 100644 index 000000000..49b90b0f7 --- /dev/null +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderModelObjectEvent.java @@ -0,0 +1,5 @@ +package com.mbrlabs.mundus.commons.event; + +public interface AfterRenderModelObjectEvent extends Event { + +} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderTerrainEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderTerrainEvent.java new file mode 100644 index 000000000..13b6d7bc9 --- /dev/null +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderTerrainEvent.java @@ -0,0 +1,5 @@ +package com.mbrlabs.mundus.commons.event; + +public interface AfterRenderTerrainEvent extends Event { + +} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderWaterEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderWaterEvent.java new file mode 100644 index 000000000..f60c88624 --- /dev/null +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderWaterEvent.java @@ -0,0 +1,5 @@ +package com.mbrlabs.mundus.commons.event; + +public interface AfterRenderWaterEvent extends Event { + +} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderModelObjectEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderModelObjectEvent.java new file mode 100644 index 000000000..76aa6ed06 --- /dev/null +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderModelObjectEvent.java @@ -0,0 +1,5 @@ +package com.mbrlabs.mundus.commons.event; + +public interface BeforeRenderModelObjectEvent extends Event { + +} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderTerrainEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderTerrainEvent.java new file mode 100644 index 000000000..483c51e67 --- /dev/null +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderTerrainEvent.java @@ -0,0 +1,5 @@ +package com.mbrlabs.mundus.commons.event; + +public interface BeforeRenderTerrainEvent extends Event { + +} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderWaterEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderWaterEvent.java new file mode 100644 index 000000000..06a3f8613 --- /dev/null +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderWaterEvent.java @@ -0,0 +1,5 @@ +package com.mbrlabs.mundus.commons.event; + +public interface BeforeRenderWaterEvent extends Event { + +} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/Event.java b/commons/src/main/com/mbrlabs/mundus/commons/event/Event.java new file mode 100644 index 000000000..3ef31980a --- /dev/null +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/Event.java @@ -0,0 +1,7 @@ +package com.mbrlabs.mundus.commons.event; + +public interface Event { + + void action(); + +} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java index a5daf776a..7ecc82378 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java @@ -21,7 +21,9 @@ import com.badlogic.gdx.graphics.g3d.ModelInstance; import com.badlogic.gdx.math.Vector3; import com.badlogic.gdx.math.collision.BoundingBox; +import com.badlogic.gdx.utils.Array; import com.mbrlabs.mundus.commons.env.lights.DirectionalLight; +import com.mbrlabs.mundus.commons.event.Event; import com.mbrlabs.mundus.commons.scene3d.GameObject; import com.mbrlabs.mundus.commons.scene3d.ModelCacheable; import com.mbrlabs.mundus.commons.shadows.ShadowMapper; @@ -51,6 +53,7 @@ public abstract class CullableComponent extends AbstractComponent { // Is it offscreen? protected boolean isCulled = false; + private Array events; private ModelInstance modelInstance = null; public CullableComponent(GameObject go) { @@ -101,6 +104,20 @@ public void update(float delta) { } } + public void addEvent(final Event event) { + if (events == null) { + events = new Array<>(1); + } + events.add(event); + } + + public void removeEvent(final Event event) { + if (events == null) { + events = new Array<>(1); + } + events.removeValue(event, true); + } + protected void setDimensions(ModelInstance modelInstance) { if (modelInstance == null) { Gdx.app.error("CullableComponent", "setDimensions called with null modelInstance"); @@ -116,6 +133,18 @@ protected void setDimensions(ModelInstance modelInstance) { radius = dimensions.len() / 2f; } + protected void triggerEvent(final Class clazz) { + if (events == null) { + return; + } + + for (int i = 0; i < events.size; ++i) { + if (clazz.isInstance(events.get(i))) { + events.get(i).action(); + } + } + } + public Vector3 getCenter() { return center; } diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java index a43d54729..280c68c3a 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java @@ -25,6 +25,8 @@ import com.mbrlabs.mundus.commons.assets.MaterialAsset; import com.mbrlabs.mundus.commons.assets.ModelAsset; import com.mbrlabs.mundus.commons.assets.TextureAsset; +import com.mbrlabs.mundus.commons.event.AfterRenderModelObjectEvent; +import com.mbrlabs.mundus.commons.event.BeforeRenderModelObjectEvent; import com.mbrlabs.mundus.commons.scene3d.GameObject; import com.mbrlabs.mundus.commons.scene3d.ModelCacheable; import com.mbrlabs.mundus.commons.shaders.ClippableShader; @@ -130,11 +132,13 @@ public void render(float delta) { if (isCulled || useModelCache) return; + triggerEvent(BeforeRenderModelObjectEvent.class); if (shader != null) { gameObject.sceneGraph.scene.batch.render(modelInstance, gameObject.sceneGraph.scene.environment, shader); } else { gameObject.sceneGraph.scene.batch.render(modelInstance, gameObject.sceneGraph.scene.environment); } + triggerEvent(AfterRenderModelObjectEvent.class); } @Override diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java index 0082015ab..72cf0c4ee 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java @@ -23,6 +23,8 @@ import com.badlogic.gdx.utils.GdxRuntimeException; import com.mbrlabs.mundus.commons.assets.Asset; import com.mbrlabs.mundus.commons.assets.TerrainAsset; +import com.mbrlabs.mundus.commons.event.AfterRenderTerrainEvent; +import com.mbrlabs.mundus.commons.event.BeforeRenderTerrainEvent; import com.mbrlabs.mundus.commons.scene3d.GameObject; import com.mbrlabs.mundus.commons.shaders.ClippableShader; import com.mbrlabs.mundus.commons.shaders.TerrainUberShader; @@ -74,7 +76,9 @@ public void setShader(Shader shader) { public void render(float delta) { super.render(delta); if (isCulled) return; + triggerEvent(BeforeRenderTerrainEvent.class); gameObject.sceneGraph.scene.batch.render(modelInstance, gameObject.sceneGraph.scene.environment); + triggerEvent(AfterRenderTerrainEvent.class); } @Override diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/WaterComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/WaterComponent.java index b5afc945b..b7aca55a8 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/WaterComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/WaterComponent.java @@ -21,6 +21,8 @@ import com.badlogic.gdx.utils.GdxRuntimeException; import com.mbrlabs.mundus.commons.assets.Asset; import com.mbrlabs.mundus.commons.assets.WaterAsset; +import com.mbrlabs.mundus.commons.event.AfterRenderWaterEvent; +import com.mbrlabs.mundus.commons.event.BeforeRenderWaterEvent; import com.mbrlabs.mundus.commons.scene3d.GameObject; import com.mbrlabs.mundus.commons.water.attributes.WaterFloatAttribute; @@ -63,7 +65,9 @@ public boolean usesAsset(Asset assetToCheck) { public void render(float delta) { super.render(delta); if (isCulled) return; + triggerEvent(BeforeRenderWaterEvent.class); gameObject.sceneGraph.scene.batch.render(waterAsset.water, gameObject.sceneGraph.scene.environment); + triggerEvent(AfterRenderWaterEvent.class); } @Override From 4dbe5bbf17294a7e6de730edc2af69ba8d95f3c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zsur=C3=B3=20Tibor?= Date: Thu, 9 Feb 2023 09:36:19 +0000 Subject: [PATCH 2/6] Update CHANGES --- gdx-runtime/CHANGES | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gdx-runtime/CHANGES b/gdx-runtime/CHANGES index 1827c261d..e69a62fbd 100644 --- a/gdx-runtime/CHANGES +++ b/gdx-runtime/CHANGES @@ -1,6 +1,7 @@ [0.5.0] ~ - [Breaking Change] Terrain API modified to closer reflect Models -- Added 'addGameObject(ModelInstance, Vector3)' and 'addGameObject(Model, Vector3)' methods to SceneGraph to add external model to scene graph +- Add 'addGameObject(ModelInstance, Vector3)' and 'addGameObject(Model, Vector3)' methods to SceneGraph to add external model to scene graph +- Add render event handling [0.4.0] ~ 10/12/2022 - [BREAKING CHANGE] The loadScene method for the runtime has changed. A ModelBatch is no longer required to be passed in. From ce3aaf8d37168f23a6afe1be9feb24d574b0cf3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zsur=C3=B3=20Tibor?= Date: Sat, 11 Feb 2023 21:41:41 +0000 Subject: [PATCH 3/6] Add event handling to ModelCacheManager --- .../com/mbrlabs/mundus/commons/Scene.java | 2 ++ .../commons/event/AfterRenderEvent.java | 8 +++++ .../event/AfterRenderModelObjectEvent.java | 5 --- .../event/AfterRenderTerrainEvent.java | 5 --- .../commons/event/AfterRenderWaterEvent.java | 5 --- .../commons/event/BeforeRenderEvent.java | 8 +++++ .../event/BeforeRenderModelObjectEvent.java | 5 --- .../event/BeforeRenderTerrainEvent.java | 5 --- .../commons/event/BeforeRenderWaterEvent.java | 5 --- .../mbrlabs/mundus/commons/event/Event.java | 3 ++ .../commons/scene3d/ModelCacheManager.java | 19 ++++++++++++ .../commons/scene3d/ModelEventable.java | 31 +++++++++++++++++++ .../scene3d/components/CullableComponent.java | 19 ++++++++++-- .../scene3d/components/ModelComponent.java | 6 ++-- .../scene3d/components/TerrainComponent.java | 6 ++-- .../scene3d/components/WaterComponent.java | 6 ++-- 16 files changed, 94 insertions(+), 44 deletions(-) create mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderEvent.java delete mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderModelObjectEvent.java delete mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderTerrainEvent.java delete mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderWaterEvent.java create mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderEvent.java delete mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderModelObjectEvent.java delete mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderTerrainEvent.java delete mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderWaterEvent.java create mode 100644 commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelEventable.java diff --git a/commons/src/main/com/mbrlabs/mundus/commons/Scene.java b/commons/src/main/com/mbrlabs/mundus/commons/Scene.java index ccfb9e995..0e6b8c16f 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/Scene.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/Scene.java @@ -168,7 +168,9 @@ protected void renderObjects(float delta) { // Render objects batch.begin(cam); sceneGraph.render(delta, clippingPlaneDisable, 0); + modelCacheManager.triggerBeforeRenderEvent(); batch.render(modelCacheManager.modelCache, environment); + modelCacheManager.triggerAfterRenderEvent(); batch.end(); } diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderEvent.java new file mode 100644 index 000000000..3aed63f34 --- /dev/null +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderEvent.java @@ -0,0 +1,8 @@ +package com.mbrlabs.mundus.commons.event; + +/** + * Calls this event after render. + */ +public interface AfterRenderEvent extends Event { + +} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderModelObjectEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderModelObjectEvent.java deleted file mode 100644 index 49b90b0f7..000000000 --- a/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderModelObjectEvent.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.mbrlabs.mundus.commons.event; - -public interface AfterRenderModelObjectEvent extends Event { - -} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderTerrainEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderTerrainEvent.java deleted file mode 100644 index 13b6d7bc9..000000000 --- a/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderTerrainEvent.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.mbrlabs.mundus.commons.event; - -public interface AfterRenderTerrainEvent extends Event { - -} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderWaterEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderWaterEvent.java deleted file mode 100644 index f60c88624..000000000 --- a/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderWaterEvent.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.mbrlabs.mundus.commons.event; - -public interface AfterRenderWaterEvent extends Event { - -} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderEvent.java new file mode 100644 index 000000000..958bf4c16 --- /dev/null +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderEvent.java @@ -0,0 +1,8 @@ +package com.mbrlabs.mundus.commons.event; + +/** + * Calls this event before render. + */ +public interface BeforeRenderEvent extends Event { + +} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderModelObjectEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderModelObjectEvent.java deleted file mode 100644 index 76aa6ed06..000000000 --- a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderModelObjectEvent.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.mbrlabs.mundus.commons.event; - -public interface BeforeRenderModelObjectEvent extends Event { - -} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderTerrainEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderTerrainEvent.java deleted file mode 100644 index 483c51e67..000000000 --- a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderTerrainEvent.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.mbrlabs.mundus.commons.event; - -public interface BeforeRenderTerrainEvent extends Event { - -} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderWaterEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderWaterEvent.java deleted file mode 100644 index 06a3f8613..000000000 --- a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderWaterEvent.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.mbrlabs.mundus.commons.event; - -public interface BeforeRenderWaterEvent extends Event { - -} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/Event.java b/commons/src/main/com/mbrlabs/mundus/commons/event/Event.java index 3ef31980a..67c78c7a0 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/event/Event.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/Event.java @@ -2,6 +2,9 @@ public interface Event { + /** + * Calls this method if the event has triggered. + */ void action(); } diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelCacheManager.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelCacheManager.java index 7ea2c46cd..ed4633434 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelCacheManager.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelCacheManager.java @@ -22,10 +22,12 @@ public class ModelCacheManager implements Disposable { protected float modelCacheUpdateInterval = 0.5f; protected float lastModelCacheRebuild = modelCacheUpdateInterval; protected boolean modelCacheRebuildRequested = true; + private final Array modelEventables; public ModelCacheManager(Scene scene) { modelCache = new ModelCache(); this.scene = scene; + this.modelEventables = new Array<>(); } public void update(float delta) { @@ -45,6 +47,7 @@ public void update(float delta) { * depending on the size of the scene and should only be rebuilt when needed. */ public void rebuildModelCache() { + modelEventables.clear(); modelCache.begin(scene.cam); addModelsToCache(scene.sceneGraph.getGameObjects()); modelCache.end(); @@ -72,6 +75,10 @@ protected void addModelsToCache(Array gameObjects) { } modelCache.add(((ModelCacheable) comp).getModelInstance()); + + if (comp instanceof ModelEventable) { + modelEventables.add((ModelEventable) comp); + } } } @@ -97,6 +104,18 @@ public void setModelCacheUpdateInterval(float interval) { modelCacheUpdateInterval = interval; } + public void triggerBeforeRenderEvent() { + for (final ModelEventable me : modelEventables) { + me.triggerBeforeRenderEvent(); + } + } + + public void triggerAfterRenderEvent() { + for (final ModelEventable me : modelEventables) { + me.triggerAfterRenderEvent(); + } + } + /** * Rebuild model cache if given GameObject has a cacheable component. */ diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelEventable.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelEventable.java new file mode 100644 index 000000000..ac2c5308d --- /dev/null +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelEventable.java @@ -0,0 +1,31 @@ +package com.mbrlabs.mundus.commons.scene3d; + +import com.mbrlabs.mundus.commons.event.Event; + +/** + * Indicates the object that can be eventable. + * + * @author Dgzt + */ +public interface ModelEventable { + + /** + * Adds event to object. + */ + void addEvent(Event event); + + /** + * Removes event from object. + */ + void removeEvent(Event event); + + /** + * Triggers all {@link com.mbrlabs.mundus.commons.event.BeforeRenderEvent}. + */ + void triggerBeforeRenderEvent(); + + /** + * Triggers all {@link com.mbrlabs.mundus.commons.event.AfterRenderEvent}. + */ + void triggerAfterRenderEvent(); +} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java index 7ecc82378..52a4b2c24 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java @@ -23,9 +23,12 @@ import com.badlogic.gdx.math.collision.BoundingBox; import com.badlogic.gdx.utils.Array; import com.mbrlabs.mundus.commons.env.lights.DirectionalLight; +import com.mbrlabs.mundus.commons.event.AfterRenderEvent; +import com.mbrlabs.mundus.commons.event.BeforeRenderEvent; import com.mbrlabs.mundus.commons.event.Event; import com.mbrlabs.mundus.commons.scene3d.GameObject; import com.mbrlabs.mundus.commons.scene3d.ModelCacheable; +import com.mbrlabs.mundus.commons.scene3d.ModelEventable; import com.mbrlabs.mundus.commons.shadows.ShadowMapper; import com.mbrlabs.mundus.commons.utils.LightUtils; @@ -42,7 +45,7 @@ * @author JamesTKhan * @version July 18, 2022 */ -public abstract class CullableComponent extends AbstractComponent { +public abstract class CullableComponent extends AbstractComponent implements ModelEventable { private final static BoundingBox tmpBounds = new BoundingBox(); private final static Vector3 tmpScale = new Vector3(); private static DirectionalLight directionalLight; @@ -104,6 +107,7 @@ public void update(float delta) { } } + @Override public void addEvent(final Event event) { if (events == null) { events = new Array<>(1); @@ -111,6 +115,7 @@ public void addEvent(final Event event) { events.add(event); } + @Override public void removeEvent(final Event event) { if (events == null) { events = new Array<>(1); @@ -118,6 +123,16 @@ public void removeEvent(final Event event) { events.removeValue(event, true); } + @Override + public void triggerBeforeRenderEvent() { + triggerEvent(BeforeRenderEvent.class); + } + + @Override + public void triggerAfterRenderEvent() { + triggerEvent(AfterRenderEvent.class); + } + protected void setDimensions(ModelInstance modelInstance) { if (modelInstance == null) { Gdx.app.error("CullableComponent", "setDimensions called with null modelInstance"); @@ -133,7 +148,7 @@ protected void setDimensions(ModelInstance modelInstance) { radius = dimensions.len() / 2f; } - protected void triggerEvent(final Class clazz) { + private void triggerEvent(final Class clazz) { if (events == null) { return; } diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java index 280c68c3a..8bf31d614 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java @@ -25,8 +25,6 @@ import com.mbrlabs.mundus.commons.assets.MaterialAsset; import com.mbrlabs.mundus.commons.assets.ModelAsset; import com.mbrlabs.mundus.commons.assets.TextureAsset; -import com.mbrlabs.mundus.commons.event.AfterRenderModelObjectEvent; -import com.mbrlabs.mundus.commons.event.BeforeRenderModelObjectEvent; import com.mbrlabs.mundus.commons.scene3d.GameObject; import com.mbrlabs.mundus.commons.scene3d.ModelCacheable; import com.mbrlabs.mundus.commons.shaders.ClippableShader; @@ -132,13 +130,13 @@ public void render(float delta) { if (isCulled || useModelCache) return; - triggerEvent(BeforeRenderModelObjectEvent.class); + triggerBeforeRenderEvent(); if (shader != null) { gameObject.sceneGraph.scene.batch.render(modelInstance, gameObject.sceneGraph.scene.environment, shader); } else { gameObject.sceneGraph.scene.batch.render(modelInstance, gameObject.sceneGraph.scene.environment); } - triggerEvent(AfterRenderModelObjectEvent.class); + triggerAfterRenderEvent(); } @Override diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java index 72cf0c4ee..36670e2e8 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java @@ -23,8 +23,6 @@ import com.badlogic.gdx.utils.GdxRuntimeException; import com.mbrlabs.mundus.commons.assets.Asset; import com.mbrlabs.mundus.commons.assets.TerrainAsset; -import com.mbrlabs.mundus.commons.event.AfterRenderTerrainEvent; -import com.mbrlabs.mundus.commons.event.BeforeRenderTerrainEvent; import com.mbrlabs.mundus.commons.scene3d.GameObject; import com.mbrlabs.mundus.commons.shaders.ClippableShader; import com.mbrlabs.mundus.commons.shaders.TerrainUberShader; @@ -76,9 +74,9 @@ public void setShader(Shader shader) { public void render(float delta) { super.render(delta); if (isCulled) return; - triggerEvent(BeforeRenderTerrainEvent.class); + triggerBeforeRenderEvent(); gameObject.sceneGraph.scene.batch.render(modelInstance, gameObject.sceneGraph.scene.environment); - triggerEvent(AfterRenderTerrainEvent.class); + triggerAfterRenderEvent(); } @Override diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/WaterComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/WaterComponent.java index b7aca55a8..52825b43e 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/WaterComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/WaterComponent.java @@ -21,8 +21,6 @@ import com.badlogic.gdx.utils.GdxRuntimeException; import com.mbrlabs.mundus.commons.assets.Asset; import com.mbrlabs.mundus.commons.assets.WaterAsset; -import com.mbrlabs.mundus.commons.event.AfterRenderWaterEvent; -import com.mbrlabs.mundus.commons.event.BeforeRenderWaterEvent; import com.mbrlabs.mundus.commons.scene3d.GameObject; import com.mbrlabs.mundus.commons.water.attributes.WaterFloatAttribute; @@ -65,9 +63,9 @@ public boolean usesAsset(Asset assetToCheck) { public void render(float delta) { super.render(delta); if (isCulled) return; - triggerEvent(BeforeRenderWaterEvent.class); + triggerBeforeRenderEvent(); gameObject.sceneGraph.scene.batch.render(waterAsset.water, gameObject.sceneGraph.scene.environment); - triggerEvent(AfterRenderWaterEvent.class); + triggerAfterRenderEvent(); } @Override From adf13dc3adfaa1dd3d4e0603dd219030af7faa1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zsur=C3=B3=20Tibor?= Date: Tue, 21 Feb 2023 13:35:36 +0000 Subject: [PATCH 4/6] Change AfterRenderEvent to BeforeDeptRenderEvent --- commons/src/main/com/mbrlabs/mundus/commons/Scene.java | 2 +- .../mbrlabs/mundus/commons/event/AfterRenderEvent.java | 8 -------- .../mundus/commons/event/BeforeDeptRenderEvent.java | 8 ++++++++ .../mundus/commons/scene3d/ModelCacheManager.java | 8 ++++---- .../mbrlabs/mundus/commons/scene3d/ModelEventable.java | 10 ++++++---- .../commons/scene3d/components/CullableComponent.java | 10 +++++----- .../commons/scene3d/components/ModelComponent.java | 3 ++- .../commons/scene3d/components/TerrainComponent.java | 3 ++- .../commons/scene3d/components/WaterComponent.java | 1 - 9 files changed, 28 insertions(+), 25 deletions(-) delete mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderEvent.java create mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDeptRenderEvent.java diff --git a/commons/src/main/com/mbrlabs/mundus/commons/Scene.java b/commons/src/main/com/mbrlabs/mundus/commons/Scene.java index 0e6b8c16f..5d99e7bc4 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/Scene.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/Scene.java @@ -170,7 +170,6 @@ protected void renderObjects(float delta) { sceneGraph.render(delta, clippingPlaneDisable, 0); modelCacheManager.triggerBeforeRenderEvent(); batch.render(modelCacheManager.modelCache, environment); - modelCacheManager.triggerAfterRenderEvent(); batch.end(); } @@ -204,6 +203,7 @@ protected void renderShadowMap(float delta) { shadowMapper.begin(light.direction); depthBatch.begin(shadowMapper.getCam()); sceneGraph.renderDepth(delta, clippingPlaneDisable, 0, shadowMapShader); + modelCacheManager.triggerBeforeDeptRenderEvent(); depthBatch.render(modelCacheManager.modelCache, environment, shadowMapShader); depthBatch.end(); shadowMapper.end(); diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderEvent.java deleted file mode 100644 index 3aed63f34..000000000 --- a/commons/src/main/com/mbrlabs/mundus/commons/event/AfterRenderEvent.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.mbrlabs.mundus.commons.event; - -/** - * Calls this event after render. - */ -public interface AfterRenderEvent extends Event { - -} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDeptRenderEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDeptRenderEvent.java new file mode 100644 index 000000000..acbd9cd58 --- /dev/null +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDeptRenderEvent.java @@ -0,0 +1,8 @@ +package com.mbrlabs.mundus.commons.event; + +/** + * Calls this event before dept render. + */ +public interface BeforeDeptRenderEvent extends Event { + +} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelCacheManager.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelCacheManager.java index ed4633434..1a04fef95 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelCacheManager.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelCacheManager.java @@ -104,15 +104,15 @@ public void setModelCacheUpdateInterval(float interval) { modelCacheUpdateInterval = interval; } - public void triggerBeforeRenderEvent() { + public void triggerBeforeDeptRenderEvent() { for (final ModelEventable me : modelEventables) { - me.triggerBeforeRenderEvent(); + me.triggerBeforeDeptRenderEvent(); } } - public void triggerAfterRenderEvent() { + public void triggerBeforeRenderEvent() { for (final ModelEventable me : modelEventables) { - me.triggerAfterRenderEvent(); + me.triggerBeforeRenderEvent(); } } diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelEventable.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelEventable.java index ac2c5308d..10f243a7d 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelEventable.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelEventable.java @@ -1,5 +1,6 @@ package com.mbrlabs.mundus.commons.scene3d; +import com.mbrlabs.mundus.commons.event.BeforeDeptRenderEvent; import com.mbrlabs.mundus.commons.event.Event; /** @@ -20,12 +21,13 @@ public interface ModelEventable { void removeEvent(Event event); /** - * Triggers all {@link com.mbrlabs.mundus.commons.event.BeforeRenderEvent}. + * Triggers all {@link BeforeDeptRenderEvent}. */ - void triggerBeforeRenderEvent(); + void triggerBeforeDeptRenderEvent(); /** - * Triggers all {@link com.mbrlabs.mundus.commons.event.AfterRenderEvent}. + * Triggers all {@link com.mbrlabs.mundus.commons.event.BeforeRenderEvent}. */ - void triggerAfterRenderEvent(); + void triggerBeforeRenderEvent(); + } diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java index 52a4b2c24..69b0bf0fe 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java @@ -23,7 +23,7 @@ import com.badlogic.gdx.math.collision.BoundingBox; import com.badlogic.gdx.utils.Array; import com.mbrlabs.mundus.commons.env.lights.DirectionalLight; -import com.mbrlabs.mundus.commons.event.AfterRenderEvent; +import com.mbrlabs.mundus.commons.event.BeforeDeptRenderEvent; import com.mbrlabs.mundus.commons.event.BeforeRenderEvent; import com.mbrlabs.mundus.commons.event.Event; import com.mbrlabs.mundus.commons.scene3d.GameObject; @@ -124,13 +124,13 @@ public void removeEvent(final Event event) { } @Override - public void triggerBeforeRenderEvent() { - triggerEvent(BeforeRenderEvent.class); + public void triggerBeforeDeptRenderEvent() { + triggerEvent(BeforeDeptRenderEvent.class); } @Override - public void triggerAfterRenderEvent() { - triggerEvent(AfterRenderEvent.class); + public void triggerBeforeRenderEvent() { + triggerEvent(BeforeRenderEvent.class); } protected void setDimensions(ModelInstance modelInstance) { diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java index 8bf31d614..38f19367d 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java @@ -136,7 +136,6 @@ public void render(float delta) { } else { gameObject.sceneGraph.scene.batch.render(modelInstance, gameObject.sceneGraph.scene.environment); } - triggerAfterRenderEvent(); } @Override @@ -148,6 +147,8 @@ public void renderDepth(float delta, Vector3 clippingPlane, float clipHeight, Sh ((ClippableShader) depthShader).setClippingHeight(clipHeight); } + triggerBeforeDeptRenderEvent(); + if (depthShader instanceof ShadowMapShader) // Shadow Mapper will use default (PBR's depth shader) for animation support gameObject.sceneGraph.scene.depthBatch.render(modelInstance, gameObject.sceneGraph.scene.environment); diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java index 36670e2e8..2a1a23142 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java @@ -76,7 +76,6 @@ public void render(float delta) { if (isCulled) return; triggerBeforeRenderEvent(); gameObject.sceneGraph.scene.batch.render(modelInstance, gameObject.sceneGraph.scene.environment); - triggerAfterRenderEvent(); } @Override @@ -95,6 +94,8 @@ public void renderDepth(float delta, Vector3 clippingPlane, float clipHeight, Sh ((ClippableShader) shader).setClippingHeight(clipHeight); } + triggerBeforeDeptRenderEvent(); + gameObject.sceneGraph.scene.depthBatch.render(modelInstance, gameObject.sceneGraph.scene.environment, shader); } diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/WaterComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/WaterComponent.java index 52825b43e..c067afe8d 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/WaterComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/WaterComponent.java @@ -65,7 +65,6 @@ public void render(float delta) { if (isCulled) return; triggerBeforeRenderEvent(); gameObject.sceneGraph.scene.batch.render(waterAsset.water, gameObject.sceneGraph.scene.environment); - triggerAfterRenderEvent(); } @Override From ec4c986a55c0c4b627368b6c98f892a0fa66f6a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zsur=C3=B3=20Tibor?= Date: Wed, 22 Feb 2023 07:00:34 +0000 Subject: [PATCH 5/6] Fix HTML build --- .../mundus/commons/event/BeforeDeptRenderEvent.java | 6 +++++- .../mundus/commons/event/BeforeRenderEvent.java | 6 +++++- .../main/com/mbrlabs/mundus/commons/event/Event.java | 5 +++++ .../com/mbrlabs/mundus/commons/event/EventType.java | 6 ++++++ .../commons/scene3d/components/CullableComponent.java | 11 +++++------ 5 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/EventType.java diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDeptRenderEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDeptRenderEvent.java index acbd9cd58..483da30c8 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDeptRenderEvent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDeptRenderEvent.java @@ -3,6 +3,10 @@ /** * Calls this event before dept render. */ -public interface BeforeDeptRenderEvent extends Event { +public abstract class BeforeDeptRenderEvent implements Event { + @Override + public EventType getType() { + return EventType.BEFORE_DEPT_RENDER; + } } diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderEvent.java index 958bf4c16..5c540ed64 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderEvent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeRenderEvent.java @@ -3,6 +3,10 @@ /** * Calls this event before render. */ -public interface BeforeRenderEvent extends Event { +public abstract class BeforeRenderEvent implements Event { + @Override + public EventType getType() { + return EventType.BEFORE_RENDER; + } } diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/Event.java b/commons/src/main/com/mbrlabs/mundus/commons/event/Event.java index 67c78c7a0..a3a31acf2 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/event/Event.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/Event.java @@ -2,6 +2,11 @@ public interface Event { + /** + * The type of event. + */ + EventType getType(); + /** * Calls this method if the event has triggered. */ diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/EventType.java b/commons/src/main/com/mbrlabs/mundus/commons/event/EventType.java new file mode 100644 index 000000000..0452503a2 --- /dev/null +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/EventType.java @@ -0,0 +1,6 @@ +package com.mbrlabs.mundus.commons.event; + +public enum EventType { + BEFORE_RENDER, + BEFORE_DEPT_RENDER +} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java index 69b0bf0fe..958477fb5 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java @@ -23,9 +23,8 @@ import com.badlogic.gdx.math.collision.BoundingBox; import com.badlogic.gdx.utils.Array; import com.mbrlabs.mundus.commons.env.lights.DirectionalLight; -import com.mbrlabs.mundus.commons.event.BeforeDeptRenderEvent; -import com.mbrlabs.mundus.commons.event.BeforeRenderEvent; import com.mbrlabs.mundus.commons.event.Event; +import com.mbrlabs.mundus.commons.event.EventType; import com.mbrlabs.mundus.commons.scene3d.GameObject; import com.mbrlabs.mundus.commons.scene3d.ModelCacheable; import com.mbrlabs.mundus.commons.scene3d.ModelEventable; @@ -125,12 +124,12 @@ public void removeEvent(final Event event) { @Override public void triggerBeforeDeptRenderEvent() { - triggerEvent(BeforeDeptRenderEvent.class); + triggerEvent(EventType.BEFORE_DEPT_RENDER); } @Override public void triggerBeforeRenderEvent() { - triggerEvent(BeforeRenderEvent.class); + triggerEvent(EventType.BEFORE_RENDER); } protected void setDimensions(ModelInstance modelInstance) { @@ -148,13 +147,13 @@ protected void setDimensions(ModelInstance modelInstance) { radius = dimensions.len() / 2f; } - private void triggerEvent(final Class clazz) { + private void triggerEvent(final EventType eventType) { if (events == null) { return; } for (int i = 0; i < events.size; ++i) { - if (clazz.isInstance(events.get(i))) { + if (eventType == events.get(i).getType()) { events.get(i).action(); } } From cdca930c64812664226a24e81771476d35ab4460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zsur=C3=B3=20Tibor?= Date: Thu, 23 Feb 2023 14:25:39 +0000 Subject: [PATCH 6/6] Fix depth spelling --- .../src/main/com/mbrlabs/mundus/commons/Scene.java | 2 +- .../mundus/commons/event/BeforeDeptRenderEvent.java | 12 ------------ .../mundus/commons/event/BeforeDepthRenderEvent.java | 12 ++++++++++++ .../com/mbrlabs/mundus/commons/event/EventType.java | 2 +- .../mundus/commons/scene3d/ModelCacheManager.java | 4 ++-- .../mundus/commons/scene3d/ModelEventable.java | 6 +++--- .../scene3d/components/CullableComponent.java | 4 ++-- .../commons/scene3d/components/ModelComponent.java | 2 +- .../commons/scene3d/components/TerrainComponent.java | 2 +- 9 files changed, 23 insertions(+), 23 deletions(-) delete mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDeptRenderEvent.java create mode 100644 commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDepthRenderEvent.java diff --git a/commons/src/main/com/mbrlabs/mundus/commons/Scene.java b/commons/src/main/com/mbrlabs/mundus/commons/Scene.java index 5d99e7bc4..98d3dd210 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/Scene.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/Scene.java @@ -203,7 +203,7 @@ protected void renderShadowMap(float delta) { shadowMapper.begin(light.direction); depthBatch.begin(shadowMapper.getCam()); sceneGraph.renderDepth(delta, clippingPlaneDisable, 0, shadowMapShader); - modelCacheManager.triggerBeforeDeptRenderEvent(); + modelCacheManager.triggerBeforeDepthRenderEvent(); depthBatch.render(modelCacheManager.modelCache, environment, shadowMapShader); depthBatch.end(); shadowMapper.end(); diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDeptRenderEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDeptRenderEvent.java deleted file mode 100644 index 483da30c8..000000000 --- a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDeptRenderEvent.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.mbrlabs.mundus.commons.event; - -/** - * Calls this event before dept render. - */ -public abstract class BeforeDeptRenderEvent implements Event { - - @Override - public EventType getType() { - return EventType.BEFORE_DEPT_RENDER; - } -} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDepthRenderEvent.java b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDepthRenderEvent.java new file mode 100644 index 000000000..87d96189d --- /dev/null +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/BeforeDepthRenderEvent.java @@ -0,0 +1,12 @@ +package com.mbrlabs.mundus.commons.event; + +/** + * Calls this event before depth render. + */ +public abstract class BeforeDepthRenderEvent implements Event { + + @Override + public EventType getType() { + return EventType.BEFORE_DEPTH_RENDER; + } +} diff --git a/commons/src/main/com/mbrlabs/mundus/commons/event/EventType.java b/commons/src/main/com/mbrlabs/mundus/commons/event/EventType.java index 0452503a2..627d5e446 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/event/EventType.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/event/EventType.java @@ -2,5 +2,5 @@ public enum EventType { BEFORE_RENDER, - BEFORE_DEPT_RENDER + BEFORE_DEPTH_RENDER } diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelCacheManager.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelCacheManager.java index 1a04fef95..67e4da27e 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelCacheManager.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelCacheManager.java @@ -104,9 +104,9 @@ public void setModelCacheUpdateInterval(float interval) { modelCacheUpdateInterval = interval; } - public void triggerBeforeDeptRenderEvent() { + public void triggerBeforeDepthRenderEvent() { for (final ModelEventable me : modelEventables) { - me.triggerBeforeDeptRenderEvent(); + me.triggerBeforeDepthRenderEvent(); } } diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelEventable.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelEventable.java index 10f243a7d..22331a7b1 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelEventable.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/ModelEventable.java @@ -1,6 +1,6 @@ package com.mbrlabs.mundus.commons.scene3d; -import com.mbrlabs.mundus.commons.event.BeforeDeptRenderEvent; +import com.mbrlabs.mundus.commons.event.BeforeDepthRenderEvent; import com.mbrlabs.mundus.commons.event.Event; /** @@ -21,9 +21,9 @@ public interface ModelEventable { void removeEvent(Event event); /** - * Triggers all {@link BeforeDeptRenderEvent}. + * Triggers all {@link BeforeDepthRenderEvent}. */ - void triggerBeforeDeptRenderEvent(); + void triggerBeforeDepthRenderEvent(); /** * Triggers all {@link com.mbrlabs.mundus.commons.event.BeforeRenderEvent}. diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java index 958477fb5..065e5dbdd 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/CullableComponent.java @@ -123,8 +123,8 @@ public void removeEvent(final Event event) { } @Override - public void triggerBeforeDeptRenderEvent() { - triggerEvent(EventType.BEFORE_DEPT_RENDER); + public void triggerBeforeDepthRenderEvent() { + triggerEvent(EventType.BEFORE_DEPTH_RENDER); } @Override diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java index 38f19367d..3ec985f77 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/ModelComponent.java @@ -147,7 +147,7 @@ public void renderDepth(float delta, Vector3 clippingPlane, float clipHeight, Sh ((ClippableShader) depthShader).setClippingHeight(clipHeight); } - triggerBeforeDeptRenderEvent(); + triggerBeforeDepthRenderEvent(); if (depthShader instanceof ShadowMapShader) // Shadow Mapper will use default (PBR's depth shader) for animation support diff --git a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java index 2a1a23142..ca4a82458 100644 --- a/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java +++ b/commons/src/main/com/mbrlabs/mundus/commons/scene3d/components/TerrainComponent.java @@ -94,7 +94,7 @@ public void renderDepth(float delta, Vector3 clippingPlane, float clipHeight, Sh ((ClippableShader) shader).setClippingHeight(clipHeight); } - triggerBeforeDeptRenderEvent(); + triggerBeforeDepthRenderEvent(); gameObject.sceneGraph.scene.depthBatch.render(modelInstance, gameObject.sceneGraph.scene.environment, shader); }