X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth-3d.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Frenderer%2Fraster%2Fshapes%2Fbasic%2Fsolidpolygon%2FSolidPolygon.java;fp=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Frenderer%2Fraster%2Fshapes%2Fbasic%2Fsolidpolygon%2FSolidPolygon.java;h=e94140851b425eca0d5372f1bdf448a691e8285a;hp=1b4bcfcae481236fc11c07635cf69178cd8bfb26;hb=59980888bd6bba94f84e4f63ce67e5b624df8aea;hpb=9f20345e99404017a98d3ae95b7588cabb31a9bf diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/solidpolygon/SolidPolygon.java b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/solidpolygon/SolidPolygon.java index 1b4bcfc..e941408 100644 --- a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/solidpolygon/SolidPolygon.java +++ b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/solidpolygon/SolidPolygon.java @@ -8,6 +8,7 @@ import eu.svjatoslav.sixth.e3d.geometry.Point2D; import eu.svjatoslav.sixth.e3d.geometry.Point3D; import eu.svjatoslav.sixth.e3d.gui.RenderingContext; import eu.svjatoslav.sixth.e3d.gui.humaninput.MouseInteractionController; +import eu.svjatoslav.sixth.e3d.math.Vertex; import eu.svjatoslav.sixth.e3d.renderer.raster.Color; import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.AbstractCoordinateShape; @@ -25,7 +26,11 @@ public class SolidPolygon extends AbstractCoordinateShape { public SolidPolygon(final Point3D point1, final Point3D point2, final Point3D point3, final Color color) { - super(point1, point2, point3); + super( + new Vertex(point1), + new Vertex(point2), + new Vertex(point3) + ); this.color = color; } @@ -51,7 +56,7 @@ public class SolidPolygon extends AbstractCoordinateShape { final int width = x2 - x1; int offset = ((y * renderBuffer.width) + x1) * 4; - final byte[] offSreenBufferBytes = renderBuffer.pixels; + final byte[] offScreenBufferBytes = renderBuffer.pixels; final int polygonAlpha = color.a; final int b = color.b; @@ -60,13 +65,13 @@ public class SolidPolygon extends AbstractCoordinateShape { if (polygonAlpha == 255) for (int i = 0; i < width; i++) { - offSreenBufferBytes[offset] = (byte) 255; + offScreenBufferBytes[offset] = (byte) 255; offset++; - offSreenBufferBytes[offset] = (byte) b; + offScreenBufferBytes[offset] = (byte) b; offset++; - offSreenBufferBytes[offset] = (byte) g; + offScreenBufferBytes[offset] = (byte) g; offset++; - offSreenBufferBytes[offset] = (byte) r; + offScreenBufferBytes[offset] = (byte) r; offset++; } else { @@ -77,13 +82,13 @@ public class SolidPolygon extends AbstractCoordinateShape { final int redWithAlpha = r * polygonAlpha; for (int i = 0; i < width; i++) { - offSreenBufferBytes[offset] = (byte) 255; + offScreenBufferBytes[offset] = (byte) 255; offset++; - offSreenBufferBytes[offset] = (byte) ((((offSreenBufferBytes[offset] & 0xff) * backgroundAlpha) + blueWithAlpha) / 256); + offScreenBufferBytes[offset] = (byte) ((((offScreenBufferBytes[offset] & 0xff) * backgroundAlpha) + blueWithAlpha) / 256); offset++; - offSreenBufferBytes[offset] = (byte) ((((offSreenBufferBytes[offset] & 0xff) * backgroundAlpha) + greenWithAlpha) / 256); + offScreenBufferBytes[offset] = (byte) ((((offScreenBufferBytes[offset] & 0xff) * backgroundAlpha) + greenWithAlpha) / 256); offset++; - offSreenBufferBytes[offset] = (byte) ((((offSreenBufferBytes[offset] & 0xff) * backgroundAlpha) + redWithAlpha) / 256); + offScreenBufferBytes[offset] = (byte) ((((offScreenBufferBytes[offset] & 0xff) * backgroundAlpha) + redWithAlpha) / 256); offset++; }