From 307a71dd604773c6c7113a562f80d5591f99cec2 Mon Sep 17 00:00:00 2001
From: Svjatoslav Agejenko Captures log messages to a fixed-size circular buffer for display
- * in the {@link DeveloperToolsPanel}.
This allows capturing early initialization logs before the user opens * the Developer Tools panel. When the panel is opened, the buffered history * becomes immediately visible.
* - * @see DeveloperToolsPanel + * @see eu.svjatoslav.aukio.e3d.gui.DeveloperToolsPanel */ public class DebugLogBuffer { diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/gui/ThreadActivityRecorder.java b/src/main/java/eu/svjatoslav/aukio/e3d/diag/ThreadActivityRecorder.java similarity index 99% rename from src/main/java/eu/svjatoslav/aukio/e3d/gui/ThreadActivityRecorder.java rename to src/main/java/eu/svjatoslav/aukio/e3d/diag/ThreadActivityRecorder.java index eff1e39..203d061 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/gui/ThreadActivityRecorder.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/diag/ThreadActivityRecorder.java @@ -2,7 +2,7 @@ * Aukio 3D engine. Author: Svjatoslav Agejenko. * This project is released under Creative Commons Zero (CC0) license. */ -package eu.svjatoslav.aukio.e3d.gui; +package eu.svjatoslav.aukio.e3d.diag; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/gui/Camera.java b/src/main/java/eu/svjatoslav/aukio/e3d/geometry/Camera.java similarity index 93% rename from src/main/java/eu/svjatoslav/aukio/e3d/gui/Camera.java rename to src/main/java/eu/svjatoslav/aukio/e3d/geometry/Camera.java index a212821..c4c534b 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/gui/Camera.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/geometry/Camera.java @@ -2,7 +2,7 @@ * Aukio 3D engine. Author: Svjatoslav Agejenko. * This project is released under Creative Commons Zero (CC0) license. */ -package eu.svjatoslav.aukio.e3d.gui; +package eu.svjatoslav.aukio.e3d.geometry; import eu.svjatoslav.aukio.e3d.geometry.Point3D; import eu.svjatoslav.aukio.e3d.math.Matrix3x3; @@ -35,10 +35,10 @@ import eu.svjatoslav.aukio.e3d.math.Transform; * Camera snapshot = new Camera(camera); * } * - * @see ViewPanel#getCamera() + * @see eu.svjatoslav.aukio.e3d.gui.ViewPanel#getCamera() * @see eu.svjatoslav.aukio.e3d.gui.humaninput.WorldNavigationUserInputTracker default keyboard navigation */ -public class Camera implements FrameListener { +public class Camera { /** * Camera movement speed limit, relative to the world. When camera coordinates are @@ -96,8 +96,16 @@ public class Camera implements FrameListener { this.transform = transform; } - @Override - public boolean onFrame(final ViewPanel viewPanel, final int millisecondsSinceLastFrame) { + /** + * Per-frame camera physics tick (movement integration, friction). + * Registered on the panel via a {@code FrameListener} adapter in + * {@code ViewPanel} â decoupled from the gui interface so the camera + * stays in the geometry package. + * + * @param millisecondsSinceLastFrame frame delta in milliseconds + * @return true when the camera moved enough to need a repaint + */ + public boolean onFrame(final int millisecondsSinceLastFrame) { previousLocation.clone(transform.getTranslation()); translateCameraLocationBasedOnMovementVector(millisecondsSinceLastFrame); diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/octree/IntegerPoint.java b/src/main/java/eu/svjatoslav/aukio/e3d/geometry/IntegerPoint.java similarity index 94% rename from src/main/java/eu/svjatoslav/aukio/e3d/renderer/octree/IntegerPoint.java rename to src/main/java/eu/svjatoslav/aukio/e3d/geometry/IntegerPoint.java index 01acee1..955267b 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/octree/IntegerPoint.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/geometry/IntegerPoint.java @@ -2,7 +2,7 @@ * Aukio 3D engine. Author: Svjatoslav Agejenko. * This project is released under Creative Commons Zero (CC0) license. */ -package eu.svjatoslav.aukio.e3d.renderer.octree; +package eu.svjatoslav.aukio.e3d.geometry; /** * Point in 3D space with integer coordinates. Used for octree voxel positions. diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/geometry/Point3D.java b/src/main/java/eu/svjatoslav/aukio/e3d/geometry/Point3D.java index 91f7aa9..8b227c6 100755 --- a/src/main/java/eu/svjatoslav/aukio/e3d/geometry/Point3D.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/geometry/Point3D.java @@ -4,7 +4,7 @@ */ package eu.svjatoslav.aukio.e3d.geometry; -import eu.svjatoslav.aukio.e3d.renderer.octree.IntegerPoint; +import eu.svjatoslav.aukio.e3d.geometry.IntegerPoint; import static java.lang.Math.*; @@ -57,7 +57,7 @@ import static java.lang.Math.*; * } * * @see Point2D the 2D equivalent - * @see eu.svjatoslav.aukio.e3d.math.Vertex wraps a Point3D with transform support + * @see eu.svjatoslav.aukio.e3d.renderer.raster.Vertex wraps a Point3D with transform support */ public class Point3D implements Cloneable { diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/gui/BugReport.java b/src/main/java/eu/svjatoslav/aukio/e3d/gui/BugReport.java index e684fe4..665b7cb 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/gui/BugReport.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/gui/BugReport.java @@ -3,6 +3,7 @@ * This project is released under Creative Commons Zero (CC0) license. */ package eu.svjatoslav.aukio.e3d.gui; +import eu.svjatoslav.aukio.e3d.geometry.Camera; import eu.svjatoslav.aukio.e3d.diag.EngineConfig; import eu.svjatoslav.aukio.e3d.diag.PersistentLog; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/gui/DeveloperToolsPanel.java b/src/main/java/eu/svjatoslav/aukio/e3d/gui/DeveloperToolsPanel.java index b8b5a3a..179a4f0 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/gui/DeveloperToolsPanel.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/gui/DeveloperToolsPanel.java @@ -3,6 +3,11 @@ * This project is released under Creative Commons Zero (CC0) license. */ package eu.svjatoslav.aukio.e3d.gui; +import eu.svjatoslav.aukio.e3d.diag.DebugLogBuffer; +import eu.svjatoslav.aukio.e3d.diag.ThreadActivityRecorder; +import eu.svjatoslav.aukio.e3d.geometry.Camera; +import eu.svjatoslav.aukio.e3d.renderer.raster.CullingStatistics; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; import eu.svjatoslav.aukio.e3d.geometry.Point3D; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/gui/ThreadTimelineComponent.java b/src/main/java/eu/svjatoslav/aukio/e3d/gui/ThreadTimelineComponent.java index aafa7ae..ad9bf35 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/gui/ThreadTimelineComponent.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/gui/ThreadTimelineComponent.java @@ -3,6 +3,7 @@ * This project is released under Creative Commons Zero (CC0) license. */ package eu.svjatoslav.aukio.e3d.gui; +import eu.svjatoslav.aukio.e3d.diag.ThreadActivityRecorder; import javax.swing.*; import java.awt.*; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/gui/ViewPanel.java b/src/main/java/eu/svjatoslav/aukio/e3d/gui/ViewPanel.java index 96bd4bf..0a69725 100755 --- a/src/main/java/eu/svjatoslav/aukio/e3d/gui/ViewPanel.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/gui/ViewPanel.java @@ -3,6 +3,12 @@ * This project is released under Creative Commons Zero (CC0) license. */ package eu.svjatoslav.aukio.e3d.gui; +import eu.svjatoslav.aukio.e3d.diag.DebugLogBuffer; +import eu.svjatoslav.aukio.e3d.diag.ThreadActivityRecorder; +import eu.svjatoslav.aukio.e3d.geometry.Camera; +import eu.svjatoslav.aukio.e3d.renderer.raster.StereoEye; +import eu.svjatoslav.aukio.e3d.renderer.raster.SegmentRenderingContext; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; import eu.svjatoslav.aukio.e3d.diag.Diagnostics; import eu.svjatoslav.aukio.e3d.diag.EngineConfig; @@ -317,7 +323,7 @@ public class ViewPanel extends Canvas { * Creates a new view panel with default settings. */ public ViewPanel() { - frameListeners.add(camera); + frameListeners.add((panel, deltaMs) -> camera.onFrame(deltaMs)); frameListeners.add(inputManager); // persistent log + telemetry (idempotent); the view telemetry @@ -1117,7 +1123,7 @@ public class ViewPanel extends Canvas { // Walks the tree and forks heavy composites into chunk tasks, // but does NOT wait for them: draining happens inside the // pass's continuation on a worker thread. - rootShapeCollection.transformShapesBegin(this, passContext); + rootShapeCollection.transformShapesBegin(getCamera(), passContext); return passContext; } finally { location.x = originalX; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/gui/ViewSpaceTracker.java b/src/main/java/eu/svjatoslav/aukio/e3d/gui/ViewSpaceTracker.java index 40f602a..24ddb36 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/gui/ViewSpaceTracker.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/gui/ViewSpaceTracker.java @@ -3,10 +3,11 @@ * This project is released under Creative Commons Zero (CC0) license. */ package eu.svjatoslav.aukio.e3d.gui; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; import eu.svjatoslav.aukio.e3d.geometry.Point3D; import eu.svjatoslav.aukio.e3d.math.TransformStack; -import eu.svjatoslav.aukio.e3d.math.Vertex; +import eu.svjatoslav.aukio.e3d.renderer.raster.Vertex; /** * Tracks an object's position in view/camera space for distance and angle calculations. diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/gui/humaninput/InputManager.java b/src/main/java/eu/svjatoslav/aukio/e3d/gui/humaninput/InputManager.java index cd7db6c..b0b7d29 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/gui/humaninput/InputManager.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/gui/humaninput/InputManager.java @@ -5,7 +5,7 @@ package eu.svjatoslav.aukio.e3d.gui.humaninput; import eu.svjatoslav.aukio.e3d.geometry.Point2D; -import eu.svjatoslav.aukio.e3d.gui.Camera; +import eu.svjatoslav.aukio.e3d.geometry.Camera; import eu.svjatoslav.aukio.e3d.gui.FrameListener; import eu.svjatoslav.aukio.e3d.gui.ViewFrame; import eu.svjatoslav.aukio.e3d.gui.ViewPanel; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/gui/humaninput/KeyboardFocusStack.java b/src/main/java/eu/svjatoslav/aukio/e3d/gui/humaninput/KeyboardFocusStack.java index dc9360f..f89d60e 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/gui/humaninput/KeyboardFocusStack.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/gui/humaninput/KeyboardFocusStack.java @@ -3,6 +3,7 @@ * This project is released under Creative Commons Zero (CC0) license. */ package eu.svjatoslav.aukio.e3d.gui.humaninput; +import eu.svjatoslav.aukio.e3d.geometry.Camera; import eu.svjatoslav.aukio.e3d.gui.ViewPanel; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/gui/humaninput/WorldNavigationUserInputTracker.java b/src/main/java/eu/svjatoslav/aukio/e3d/gui/humaninput/WorldNavigationUserInputTracker.java index dcdc78b..152e69c 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/gui/humaninput/WorldNavigationUserInputTracker.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/gui/humaninput/WorldNavigationUserInputTracker.java @@ -4,7 +4,7 @@ */ package eu.svjatoslav.aukio.e3d.gui.humaninput; -import eu.svjatoslav.aukio.e3d.gui.Camera; +import eu.svjatoslav.aukio.e3d.geometry.Camera; import eu.svjatoslav.aukio.e3d.gui.ViewPanel; import eu.svjatoslav.aukio.e3d.gui.FrameListener; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/gui/package-info.java b/src/main/java/eu/svjatoslav/aukio/e3d/gui/package-info.java index 1dc70e4..1bb7041 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/gui/package-info.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/gui/package-info.java @@ -13,12 +13,13 @@ *Thread safety: counters are {@link AtomicInteger} because the parallel * transform phase increments them from multiple worker threads.
* - *Displayed in the {@link DeveloperToolsPanel} to help developers understand + *
Displayed in the {@link eu.svjatoslav.aukio.e3d.gui.DeveloperToolsPanel} to help developers understand * culling efficiency and optimize scene graphs.
* - * @see DeveloperToolsPanel - * @see eu.svjatoslav.aukio.e3d.geometry.Frustum + * @see eu.svjatoslav.aukio.e3d.gui.DeveloperToolsPanel + * @see eu.svjatoslav.aukio.e3d.renderer.raster.Frustum */ public class CullingStatistics { diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/geometry/Frustum.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/Frustum.java similarity index 97% rename from src/main/java/eu/svjatoslav/aukio/e3d/geometry/Frustum.java rename to src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/Frustum.java index d1075c6..47f7f39 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/geometry/Frustum.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/Frustum.java @@ -2,9 +2,12 @@ * Aukio 3D engine. Author: Svjatoslav Agejenko. * This project is released under Creative Commons Zero (CC0) license. */ -package eu.svjatoslav.aukio.e3d.geometry; +package eu.svjatoslav.aukio.e3d.renderer.raster; +import eu.svjatoslav.aukio.e3d.geometry.Point3D; +import eu.svjatoslav.aukio.e3d.geometry.Box; +import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.composite.base.Plane; -import eu.svjatoslav.aukio.e3d.gui.Camera; +import eu.svjatoslav.aukio.e3d.geometry.Camera; /** * View frustum for frustum culling - eliminates objects outside the camera's view. diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/gui/HiZPyramid.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/HiZPyramid.java similarity index 99% rename from src/main/java/eu/svjatoslav/aukio/e3d/gui/HiZPyramid.java rename to src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/HiZPyramid.java index a12608b..e04e579 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/gui/HiZPyramid.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/HiZPyramid.java @@ -1,4 +1,4 @@ -package eu.svjatoslav.aukio.e3d.gui; +package eu.svjatoslav.aukio.e3d.renderer.raster; import java.util.Arrays; import java.util.concurrent.atomic.AtomicLong; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/ParallelTransformCoordinator.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/ParallelTransformCoordinator.java index 2a48f08..54f544f 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/ParallelTransformCoordinator.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/ParallelTransformCoordinator.java @@ -95,7 +95,7 @@ public final class ParallelTransformCoordinator { * Frame parity captured at construction, stamped onto recorded * timeline intervals so overlapping frames keep distinct colors. */ - private final int traceParity = eu.svjatoslav.aukio.e3d.gui.ThreadActivityRecorder.frameParity(); + private final int traceParity = eu.svjatoslav.aukio.e3d.diag.ThreadActivityRecorder.frameParity(); /** * Frame-wide cap on chunk tasks. Deep hierarchies of heavy composites @@ -133,15 +133,15 @@ public final class ParallelTransformCoordinator { * @param task transforms a chunk of children into a private aggregator */ public void submit(final CallableEquals {@code tilesX * tilesY * viewportCount}: the tile grid * covers one viewport, and in stereo mode a second grid covers the @@ -155,7 +156,8 @@ public class RenderingContext { */ public final int renderMaxY; - final BufferedImage bufferedImage; + /** The backing image (public: the AWT shell in {@code gui} blits it directly). */ + public final BufferedImage bufferedImage; /** * Unique id of the current transform cycle, assigned by * {@code ShapeCollection.transformShapes()} from a global counter. diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/gui/SegmentRenderingContext.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/SegmentRenderingContext.java similarity index 98% rename from src/main/java/eu/svjatoslav/aukio/e3d/gui/SegmentRenderingContext.java rename to src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/SegmentRenderingContext.java index a7cc17b..567bdcb 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/gui/SegmentRenderingContext.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/SegmentRenderingContext.java @@ -2,7 +2,7 @@ * Aukio 3D engine. Author: Svjatoslav Agejenko. * This project is released under Creative Commons Zero (CC0) license. */ -package eu.svjatoslav.aukio.e3d.gui; +package eu.svjatoslav.aukio.e3d.renderer.raster; import eu.svjatoslav.aukio.e3d.gui.humaninput.MouseEvent; import eu.svjatoslav.aukio.e3d.gui.humaninput.MouseInteractionController; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/ShapeCollection.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/ShapeCollection.java index 5856d6b..da63431 100755 --- a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/ShapeCollection.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/ShapeCollection.java @@ -4,12 +4,8 @@ */ package eu.svjatoslav.aukio.e3d.renderer.raster; -import eu.svjatoslav.aukio.e3d.geometry.Frustum; import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.gui.CullingStatistics; -import eu.svjatoslav.aukio.e3d.gui.Camera; -import eu.svjatoslav.aukio.e3d.gui.RenderingContext; -import eu.svjatoslav.aukio.e3d.gui.ViewPanel; +import eu.svjatoslav.aukio.e3d.geometry.Camera; import eu.svjatoslav.aukio.e3d.math.Quaternion; import eu.svjatoslav.aukio.e3d.math.Transform; import eu.svjatoslav.aukio.e3d.math.TransformStack; @@ -64,7 +60,7 @@ import java.util.concurrent.ExecutorService; *
The {@link #addShape} method is synchronized, making it safe to add shapes from * any thread while the rendering loop is active.
* - * @see ViewPanel#getRootShapeCollection() + * @see eu.svjatoslav.aukio.e3d.gui.ViewPanel#getRootShapeCollection() * @see AbstractShape the base class for all shapes * @see AbstractCompositeShape the root composite that stores and processes all shapes * @see RenderAggregator handles depth sorting and painting @@ -267,15 +263,9 @@ public class ShapeCollection { * @param viewPanel the view panel providing the camera state * @param renderingContext the rendering context with frame metadata */ - public synchronized void transformShapes(final ViewPanel viewPanel, - final RenderingContext renderingContext) { - transformShapesBegin(viewPanel, renderingContext); - drainTransformShapes(renderingContext); - } - /** - * Camera-based variant of {@link #transformShapes(ViewPanel, RenderingContext)} - * for headless rendering without a {@link ViewPanel} (off-screen snapshots, + * Camera-based variant of {@link #transformShapes(Camera, RenderingContext)} + * for headless rendering without a {@link eu.svjatoslav.aukio.e3d.gui.ViewPanel} (off-screen snapshots, * golden-image tests, GI scene setup). * * @param camera the camera providing position and orientation @@ -288,25 +278,8 @@ public class ShapeCollection { } /** - * First half of {@link #transformShapes}: resets the frame's - * aggregator, computes the frustum and walks the scene tree, - * forking heavy composites into chunk tasks on the frame's - * coordinator. Returns WITHOUT waiting for the chunk tasks; the - * caller hands the coordinator to {@link #drainTransformShapes} - * later (the pipeline drains it inside the asynchronous - * sort/bin/paint continuation on a worker thread). - * - * @param viewPanel the view panel providing the camera state - * @param renderingContext the pass rendering context - */ - public synchronized void transformShapesBegin(final ViewPanel viewPanel, - final RenderingContext renderingContext) { - transformShapesBegin(viewPanel.getCamera(), renderingContext); - } - - /** - * Camera-based variant of {@link #transformShapesBegin(ViewPanel, RenderingContext)} - * for headless rendering without a {@link ViewPanel}. + * Camera-based variant of {@link #transformShapesBegin(Camera, RenderingContext)} + * for headless rendering without a {@link eu.svjatoslav.aukio.e3d.gui.ViewPanel}. * * @param camera the camera providing position and orientation * @param renderingContext the pass rendering context diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/gui/StereoEye.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/StereoEye.java similarity index 90% rename from src/main/java/eu/svjatoslav/aukio/e3d/gui/StereoEye.java rename to src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/StereoEye.java index aa9c99f..39ceafb 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/gui/StereoEye.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/StereoEye.java @@ -2,7 +2,7 @@ * Aukio 3D engine. Author: Svjatoslav Agejenko. * This project is released under Creative Commons Zero (CC0) license. */ -package eu.svjatoslav.aukio.e3d.gui; +package eu.svjatoslav.aukio.e3d.renderer.raster; /** * Identifies which eye is being rendered in stereoscopic mode. diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/math/Vertex.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/Vertex.java similarity index 99% rename from src/main/java/eu/svjatoslav/aukio/e3d/math/Vertex.java rename to src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/Vertex.java index 0eb8bcd..9ee819d 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/math/Vertex.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/Vertex.java @@ -2,11 +2,11 @@ * Aukio 3D engine. Author: Svjatoslav Agejenko. * This project is released under Creative Commons Zero (CC0) license. */ -package eu.svjatoslav.aukio.e3d.math; +package eu.svjatoslav.aukio.e3d.renderer.raster; +import eu.svjatoslav.aukio.e3d.math.TransformStack; import eu.svjatoslav.aukio.e3d.geometry.Point2D; import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.gui.RenderingContext; /** * A vertex in 3D space with transformation and screen projection support. diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/gi/LightmappedTriangle.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/gi/LightmappedTriangle.java index e285b97..0df0d60 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/gi/LightmappedTriangle.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/gi/LightmappedTriangle.java @@ -6,7 +6,7 @@ package eu.svjatoslav.aukio.e3d.renderer.raster.gi; import eu.svjatoslav.aukio.e3d.geometry.Point2D; import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.math.Vertex; +import eu.svjatoslav.aukio.e3d.renderer.raster.Vertex; import eu.svjatoslav.aukio.e3d.renderer.raster.Color; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.basic.texturedpolygon.TexturedTriangle; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/AbstractCoordinateShape.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/AbstractCoordinateShape.java index 94fafb0..5d18d0a 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/AbstractCoordinateShape.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/AbstractCoordinateShape.java @@ -7,9 +7,9 @@ package eu.svjatoslav.aukio.e3d.renderer.raster.shapes; import eu.svjatoslav.aukio.e3d.geometry.Box; import eu.svjatoslav.aukio.e3d.geometry.Point2D; import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.gui.RenderingContext; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; import eu.svjatoslav.aukio.e3d.math.TransformStack; -import eu.svjatoslav.aukio.e3d.math.Vertex; +import eu.svjatoslav.aukio.e3d.renderer.raster.Vertex; import eu.svjatoslav.aukio.e3d.renderer.raster.RenderAggregator; import java.util.ArrayList; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/AbstractShape.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/AbstractShape.java index f6e81a3..633a3bd 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/AbstractShape.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/AbstractShape.java @@ -6,7 +6,7 @@ package eu.svjatoslav.aukio.e3d.renderer.raster.shapes; import eu.svjatoslav.aukio.e3d.geometry.Box; import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.gui.RenderingContext; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; import eu.svjatoslav.aukio.e3d.gui.humaninput.MouseInteractionController; import eu.svjatoslav.aukio.e3d.math.TransformStack; import eu.svjatoslav.aukio.e3d.renderer.raster.RenderAggregator; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/Billboard.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/Billboard.java index 1924793..77f08f5 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/Billboard.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/Billboard.java @@ -6,8 +6,8 @@ package eu.svjatoslav.aukio.e3d.renderer.raster.shapes.basic; import eu.svjatoslav.aukio.e3d.geometry.Point2D; import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.gui.RenderingContext; -import eu.svjatoslav.aukio.e3d.math.Vertex; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; +import eu.svjatoslav.aukio.e3d.renderer.raster.Vertex; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.AbstractCoordinateShape; import eu.svjatoslav.aukio.e3d.renderer.raster.texture.Texture; import eu.svjatoslav.aukio.e3d.renderer.raster.texture.TextureBitmap; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/line/Line.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/line/Line.java index d327c38..7b1e7a4 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/line/Line.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/line/Line.java @@ -6,8 +6,8 @@ package eu.svjatoslav.aukio.e3d.renderer.raster.shapes.basic.line; import eu.svjatoslav.aukio.e3d.geometry.Point2D; import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.gui.RenderingContext; -import eu.svjatoslav.aukio.e3d.math.Vertex; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; +import eu.svjatoslav.aukio.e3d.renderer.raster.Vertex; import eu.svjatoslav.aukio.e3d.renderer.raster.Color; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.AbstractCoordinateShape; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/solidpolygon/SolidPolygon.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/solidpolygon/SolidPolygon.java index 6dd3b19..313b66b 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/solidpolygon/SolidPolygon.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/solidpolygon/SolidPolygon.java @@ -4,13 +4,13 @@ */ package eu.svjatoslav.aukio.e3d.renderer.raster.shapes.basic.solidpolygon; -import eu.svjatoslav.aukio.e3d.geometry.Plane; +import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.composite.base.Plane; import eu.svjatoslav.aukio.e3d.geometry.Point2D; import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.gui.RenderingContext; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; import eu.svjatoslav.aukio.e3d.gui.humaninput.MouseInteractionController; import eu.svjatoslav.aukio.e3d.math.TransformStack; -import eu.svjatoslav.aukio.e3d.math.Vertex; +import eu.svjatoslav.aukio.e3d.renderer.raster.Vertex; import eu.svjatoslav.aukio.e3d.renderer.raster.Color; import eu.svjatoslav.aukio.e3d.renderer.raster.RenderAggregator; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.AbstractCoordinateShape; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/MeshTriangle.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/MeshTriangle.java index 9e040eb..391b17d 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/MeshTriangle.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/MeshTriangle.java @@ -1,7 +1,7 @@ package eu.svjatoslav.aukio.e3d.renderer.raster.shapes.basic.texturedpolygon; import eu.svjatoslav.aukio.e3d.geometry.Point2D; -import eu.svjatoslav.aukio.e3d.gui.RenderingContext; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; import eu.svjatoslav.aukio.e3d.renderer.raster.RenderAggregator; import eu.svjatoslav.aukio.e3d.math.TransformStack; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTriangle.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTriangle.java index 648baec..76f4b29 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTriangle.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTriangle.java @@ -5,8 +5,8 @@ package eu.svjatoslav.aukio.e3d.renderer.raster.shapes.basic.texturedpolygon; import eu.svjatoslav.aukio.e3d.geometry.Point2D; -import eu.svjatoslav.aukio.e3d.gui.RenderingContext; -import eu.svjatoslav.aukio.e3d.math.Vertex; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; +import eu.svjatoslav.aukio.e3d.renderer.raster.Vertex; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.AbstractCoordinateShape; import eu.svjatoslav.aukio.e3d.renderer.raster.texture.Texture; import eu.svjatoslav.aukio.e3d.renderer.raster.texture.TextureBitmap; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TriangleMeshBlock.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TriangleMeshBlock.java index 94d8195..5220870 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TriangleMeshBlock.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TriangleMeshBlock.java @@ -3,9 +3,9 @@ package eu.svjatoslav.aukio.e3d.renderer.raster.shapes.basic.texturedpolygon; import eu.svjatoslav.aukio.e3d.geometry.Box; import eu.svjatoslav.aukio.e3d.geometry.Point2D; import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.gui.HiZPyramid; -import eu.svjatoslav.aukio.e3d.gui.RenderingContext; -import eu.svjatoslav.aukio.e3d.gui.StereoEye; +import eu.svjatoslav.aukio.e3d.renderer.raster.HiZPyramid; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; +import eu.svjatoslav.aukio.e3d.renderer.raster.StereoEye; import eu.svjatoslav.aukio.e3d.renderer.raster.RenderAggregator; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.AbstractShape; import eu.svjatoslav.aukio.e3d.renderer.raster.texture.Texture; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/TexturedRectangle.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/TexturedRectangle.java index 89e8d79..a6b5db3 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/TexturedRectangle.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/TexturedRectangle.java @@ -7,7 +7,7 @@ package eu.svjatoslav.aukio.e3d.renderer.raster.shapes.composite; import eu.svjatoslav.aukio.e3d.geometry.Point2D; import eu.svjatoslav.aukio.e3d.geometry.Point3D; import eu.svjatoslav.aukio.e3d.math.Transform; -import eu.svjatoslav.aukio.e3d.math.Vertex; +import eu.svjatoslav.aukio.e3d.renderer.raster.Vertex; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.basic.texturedpolygon.TexturedTriangle; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.composite.base.AbstractCompositeShape; import eu.svjatoslav.aukio.e3d.renderer.raster.texture.Texture; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/AbstractCompositeShape.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/AbstractCompositeShape.java index 46724bb..fa0ca38 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/AbstractCompositeShape.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/AbstractCompositeShape.java @@ -5,15 +5,14 @@ package eu.svjatoslav.aukio.e3d.renderer.raster.shapes.composite.base; import eu.svjatoslav.aukio.e3d.geometry.Box; -import eu.svjatoslav.aukio.e3d.geometry.BspTree; -import eu.svjatoslav.aukio.e3d.geometry.Frustum; +import eu.svjatoslav.aukio.e3d.renderer.raster.Frustum; import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.gui.RenderingContext; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; import eu.svjatoslav.aukio.e3d.gui.ViewSpaceTracker; import eu.svjatoslav.aukio.e3d.gui.humaninput.MouseInteractionController; import eu.svjatoslav.aukio.e3d.math.Transform; import eu.svjatoslav.aukio.e3d.math.TransformStack; -import eu.svjatoslav.aukio.e3d.math.Vertex; +import eu.svjatoslav.aukio.e3d.renderer.raster.Vertex; import eu.svjatoslav.aukio.e3d.renderer.raster.Color; import eu.svjatoslav.aukio.e3d.renderer.raster.ParallelTransformCoordinator; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.AbstractCoordinateShape; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/geometry/BspTree.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/BspTree.java similarity index 99% rename from src/main/java/eu/svjatoslav/aukio/e3d/geometry/BspTree.java rename to src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/BspTree.java index f6542b2..6b92eca 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/geometry/BspTree.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/BspTree.java @@ -2,7 +2,7 @@ * Aukio 3D engine. Author: Svjatoslav Agejenko. * This project is released under Creative Commons Zero (CC0) license. */ -package eu.svjatoslav.aukio.e3d.geometry; +package eu.svjatoslav.aukio.e3d.renderer.raster.shapes.composite.base; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.basic.solidpolygon.SolidPolygon; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/geometry/Plane.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/Plane.java similarity index 98% rename from src/main/java/eu/svjatoslav/aukio/e3d/geometry/Plane.java rename to src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/Plane.java index 1d5c289..d405b42 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/geometry/Plane.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/Plane.java @@ -2,9 +2,10 @@ * Aukio 3D engine. Author: Svjatoslav Agejenko. * This project is released under Creative Commons Zero (CC0) license. */ -package eu.svjatoslav.aukio.e3d.geometry; +package eu.svjatoslav.aukio.e3d.renderer.raster.shapes.composite.base; +import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.math.Vertex; +import eu.svjatoslav.aukio.e3d.renderer.raster.Vertex; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.basic.solidpolygon.SolidPolygon; import java.util.ArrayList; diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/geometry/PolygonType.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/PolygonType.java similarity index 95% rename from src/main/java/eu/svjatoslav/aukio/e3d/geometry/PolygonType.java rename to src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/PolygonType.java index effc9d4..506c9db 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/geometry/PolygonType.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/composite/base/PolygonType.java @@ -2,7 +2,7 @@ * Aukio 3D engine. Author: Svjatoslav Agejenko. * This project is released under Creative Commons Zero (CC0) license. */ -package eu.svjatoslav.aukio.e3d.geometry; +package eu.svjatoslav.aukio.e3d.renderer.raster.shapes.composite.base; /** * Classification of a polygon's position relative to a plane. diff --git a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/texture/Texture.java b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/texture/Texture.java index 92d69b9..5792de1 100644 --- a/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/texture/Texture.java +++ b/src/main/java/eu/svjatoslav/aukio/e3d/renderer/raster/texture/Texture.java @@ -139,7 +139,7 @@ public class Texture { * Creates a new texture with the specified dimensions and upscale capacity. * *The underlying {@link java.awt.image.BufferedImage} is created using - * {@link eu.svjatoslav.aukio.e3d.gui.RenderingContext#bufferedImageType} for + * {@link eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext#bufferedImageType} for * compatibility with the raster rendering pipeline.
* * @param width the width of the primary bitmap in pixels diff --git a/src/test/java/eu/svjatoslav/aukio/e3d/headless/HeadlessToolkitTest.java b/src/test/java/eu/svjatoslav/aukio/e3d/headless/HeadlessToolkitTest.java index c648bdd..c75d42c 100644 --- a/src/test/java/eu/svjatoslav/aukio/e3d/headless/HeadlessToolkitTest.java +++ b/src/test/java/eu/svjatoslav/aukio/e3d/headless/HeadlessToolkitTest.java @@ -5,7 +5,7 @@ package eu.svjatoslav.aukio.e3d.headless; import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.gui.Camera; +import eu.svjatoslav.aukio.e3d.geometry.Camera; import eu.svjatoslav.aukio.e3d.renderer.raster.Color; import eu.svjatoslav.aukio.e3d.renderer.raster.ShapeCollection; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.basic.solidpolygon.SolidPolygon; diff --git a/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/ParallelTransformTest.java b/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/ParallelTransformTest.java index 0d6fea0..6eb00d5 100644 --- a/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/ParallelTransformTest.java +++ b/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/ParallelTransformTest.java @@ -5,7 +5,7 @@ package eu.svjatoslav.aukio.e3d.renderer.raster; import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.gui.RenderingContext; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; import eu.svjatoslav.aukio.e3d.gui.ViewPanel; import eu.svjatoslav.aukio.e3d.math.Transform; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.AbstractCoordinateShape; @@ -115,7 +115,7 @@ public class ParallelTransformTest { // Serial run: no executor -> serial fallback path final RenderingContext serialCtx = new RenderingContext(W, H, 1); serialCtx.prepareForNewFrameRendering(); - scene.transformShapes(panel, serialCtx); + scene.transformShapes(panel.getCamera(), serialCtx); scene.sortShapes(); final int[] serialIds = snapshotIds(scene); final double[] serialZs = snapshotZs(scene); @@ -128,7 +128,7 @@ public class ParallelTransformTest { parallelCtx.transformExecutor = executor; parallelCtx.prepareForNewFrameRendering(); parallelCtx.prepareForNewFrameRendering(); // distinct frameNumber -> full re-transform - scene.transformShapes(panel, parallelCtx); + scene.transformShapes(panel.getCamera(), parallelCtx); scene.sortShapes(); final int[] parallelIds = snapshotIds(scene); final double[] parallelZs = snapshotZs(scene); @@ -183,7 +183,7 @@ public class ParallelTransformTest { // Serial run final RenderingContext serialCtx = new RenderingContext(W, H, 1); serialCtx.prepareForNewFrameRendering(); - scene.transformShapes(panel, serialCtx); + scene.transformShapes(panel.getCamera(), serialCtx); scene.sortShapes(); final int[] serialIds = snapshotIds(scene); final double[] serialZs = snapshotZs(scene); @@ -194,7 +194,7 @@ public class ParallelTransformTest { parallelCtx.transformExecutor = executor; parallelCtx.prepareForNewFrameRendering(); parallelCtx.prepareForNewFrameRendering(); - scene.transformShapes(panel, parallelCtx); + scene.transformShapes(panel.getCamera(), parallelCtx); scene.sortShapes(); final int[] parallelIds = snapshotIds(scene); final double[] parallelZs = snapshotZs(scene); diff --git a/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/SegmentBinningTest.java b/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/SegmentBinningTest.java index ef7c9af..a93dec7 100644 --- a/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/SegmentBinningTest.java +++ b/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/SegmentBinningTest.java @@ -6,11 +6,11 @@ package eu.svjatoslav.aukio.e3d.renderer.raster; import eu.svjatoslav.aukio.e3d.geometry.Point2D; import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.gui.RenderingContext; -import eu.svjatoslav.aukio.e3d.gui.SegmentRenderingContext; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; +import eu.svjatoslav.aukio.e3d.renderer.raster.SegmentRenderingContext; import eu.svjatoslav.aukio.e3d.gui.ViewPanel; import eu.svjatoslav.aukio.e3d.math.Transform; -import eu.svjatoslav.aukio.e3d.math.Vertex; +import eu.svjatoslav.aukio.e3d.renderer.raster.Vertex; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.AbstractCoordinateShape; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.basic.GlowingPoint; import eu.svjatoslav.aukio.e3d.renderer.raster.shapes.basic.line.Line; @@ -182,7 +182,7 @@ public class SegmentBinningTest { private void transformAndSort(final ViewPanel panel, final ShapeCollection scene, final RenderingContext context) { context.prepareForNewFrameRendering(); - scene.transformShapes(panel, context); + scene.transformShapes(panel.getCamera(), context); scene.sortShapes(); } diff --git a/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTriangleBlendTest.java b/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTriangleBlendTest.java index 881e716..50b9418 100644 --- a/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTriangleBlendTest.java +++ b/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTriangleBlendTest.java @@ -6,8 +6,8 @@ package eu.svjatoslav.aukio.e3d.renderer.raster.shapes.basic.texturedpolygon; import eu.svjatoslav.aukio.e3d.geometry.Point2D; import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.gui.RenderingContext; -import eu.svjatoslav.aukio.e3d.math.Vertex; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; +import eu.svjatoslav.aukio.e3d.renderer.raster.Vertex; import eu.svjatoslav.aukio.e3d.renderer.raster.texture.TextureBitmap; import org.junit.Test; diff --git a/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTrianglePerspectiveTest.java b/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTrianglePerspectiveTest.java index 0c04e7f..4fe9ef3 100644 --- a/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTrianglePerspectiveTest.java +++ b/src/test/java/eu/svjatoslav/aukio/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTrianglePerspectiveTest.java @@ -6,8 +6,8 @@ package eu.svjatoslav.aukio.e3d.renderer.raster.shapes.basic.texturedpolygon; import eu.svjatoslav.aukio.e3d.geometry.Point2D; import eu.svjatoslav.aukio.e3d.geometry.Point3D; -import eu.svjatoslav.aukio.e3d.gui.RenderingContext; -import eu.svjatoslav.aukio.e3d.math.Vertex; +import eu.svjatoslav.aukio.e3d.renderer.raster.RenderingContext; +import eu.svjatoslav.aukio.e3d.renderer.raster.Vertex; import eu.svjatoslav.aukio.e3d.renderer.raster.texture.TextureBitmap; import org.junit.Test; -- 2.20.1