X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Frenderer%2Fraster%2Fshapes%2FAbstractCoordinateShape.java;h=50e4bd9224db413a31734268f092de9bdbcd24c4;hb=HEAD;hp=f2fdde00390a861a89ee1a8bf2e9764226742640;hpb=de8fb260a5e99922231b1d0f437916e796ec6ccb;p=sixth-3d.git diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/AbstractCoordinateShape.java b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/AbstractCoordinateShape.java index f2fdde0..50e4bd9 100644 --- a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/AbstractCoordinateShape.java +++ b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/AbstractCoordinateShape.java @@ -1,13 +1,12 @@ /* - * Sixth 3D engine. Author: Svjatoslav Agejenko. + * Sixth 3D engine. Author: Svjatoslav Agejenko. * This project is released under Creative Commons Zero (CC0) license. */ package eu.svjatoslav.sixth.e3d.renderer.raster.shapes; -import eu.svjatoslav.sixth.e3d.geometry.Point3D; import eu.svjatoslav.sixth.e3d.gui.RenderingContext; +import eu.svjatoslav.sixth.e3d.math.TransformsStack; import eu.svjatoslav.sixth.e3d.math.Vertex; -import eu.svjatoslav.sixth.e3d.math.TransformsPipeline; import eu.svjatoslav.sixth.e3d.renderer.raster.RenderAggregator; import java.util.concurrent.atomic.AtomicInteger; @@ -27,11 +26,8 @@ public abstract class AbstractCoordinateShape extends AbstractShape { shapeId = lastShapeId.getAndIncrement(); } - public AbstractCoordinateShape(final Point3D... vertexes) { - coordinates = new Vertex[vertexes.length]; - - for (int i = 0; i < vertexes.length; i++) - coordinates[i] = new Vertex(vertexes[i]); + public AbstractCoordinateShape(final Vertex... vertexes) { + coordinates = vertexes; shapeId = lastShapeId.getAndIncrement(); } @@ -43,7 +39,7 @@ public abstract class AbstractCoordinateShape extends AbstractShape { public abstract void paint(RenderingContext renderBuffer); @Override - public void transform(final TransformsPipeline transforms, + public void transform(final TransformsStack transforms, final RenderAggregator aggregator, final RenderingContext renderingContext) { @@ -51,7 +47,7 @@ public abstract class AbstractCoordinateShape extends AbstractShape { boolean paint = true; for (final Vertex geometryPoint : coordinates) { - geometryPoint.transform(transforms, renderingContext); + geometryPoint.calculateLocationRelativeToViewer(transforms, renderingContext); accumulatedZ += geometryPoint.transformedCoordinate.z;