/*
- * Sixth - System for data storage, computation, exploration and interaction.
- * Copyright ©2012-2016, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- *
+ * Sixth 3D engine. Copyright ©2012-2018, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of version 3 of the GNU Lesser General Public License
* or later as published by the Free Software Foundation.
+ *
*/
public Line(final Line parentLine) {
this(parentLine.coordinates[0].coordinate.clone(),
- parentLine.coordinates[1].coordinate.clone(), new Color(
- parentLine.color), parentLine.width);
+ parentLine.coordinates[1].coordinate.clone(),
+ new Color(parentLine.color), parentLine.width);
}
public Line(final Point3D point1, final Point3D point2, final Color color,
}
- public void drawHorizontalLine(final LineInterpolator line1,
- final LineInterpolator line2, final int y,
- final RenderingContext renderBuffer) {
+ private void drawHorizontalLine(final LineInterpolator line1,
+ final LineInterpolator line2, final int y,
+ final RenderingContext renderBuffer) {
int x1 = line1.getX(y);
int x2 = line2.getX(y);
final int drawnWidth = x2 - x1;
int offset = ((y * renderBuffer.width) + x1) * 4;
- final byte[] offSreenBufferBytes = renderBuffer.bytes;
+ final byte[] offSreenBufferBytes = renderBuffer.pixels;
final int lineAlpha = color.a;
}
- public void drawSinglePixelHorizontalLine(final RenderingContext buffer,
- final int alpha) {
+ private void drawSinglePixelHorizontalLine(final RenderingContext buffer,
+ final int alpha) {
final Point2D onScreenPoint1 = coordinates[0].onScreenCoordinate;
final Point2D onScreenPoint2 = coordinates[1].onScreenCoordinate;
if (lineWidth == 0)
return;
- final byte[] offSreenBufferBytes = buffer.bytes;
+ final byte[] offSreenBufferBytes = buffer.pixels;
final int backgroundAlpha = 255 - alpha;
final int blueWithAlpha = color.b * alpha;
}
- public void drawSinglePixelVerticalLine(final RenderingContext buffer,
- final int alpha) {
+ private void drawSinglePixelVerticalLine(final RenderingContext buffer,
+ final int alpha) {
final Point2D onScreenPoint1 = coordinates[0].onScreenCoordinate;
final Point2D onScreenPoint2 = coordinates[1].onScreenCoordinate;
if (lineHeight == 0)
return;
- final byte[] offSreenBufferBytes = buffer.bytes;
+ final byte[] offScreenBufferBytes = buffer.pixels;
final int backgroundAlpha = 255 - alpha;
final int blueWithAlpha = color.b * alpha;
- final int greenWithAplha = color.g * alpha;
+ final int greenWithAlpha = color.g * alpha;
final int redWithAlpha = color.r * alpha;
for (int relativeY = 0; relativeY <= lineHeight; relativeY++) {
if ((x >= 0) && (x < buffer.width)) {
int ramOffset = ((y * buffer.width) + x) * 4;
- offSreenBufferBytes[ramOffset] = (byte) 255;
+ offScreenBufferBytes[ramOffset] = (byte) 255;
ramOffset++;
- offSreenBufferBytes[ramOffset] = (byte) ((((offSreenBufferBytes[ramOffset] & 0xff) * backgroundAlpha) + blueWithAlpha) / 256);
+ offScreenBufferBytes[ramOffset] = (byte) ((((offScreenBufferBytes[ramOffset] & 0xff) * backgroundAlpha) + blueWithAlpha) / 256);
ramOffset++;
- offSreenBufferBytes[ramOffset] = (byte) ((((offSreenBufferBytes[ramOffset] & 0xff) * backgroundAlpha) + greenWithAplha) / 256);
+ offScreenBufferBytes[ramOffset] = (byte) ((((offScreenBufferBytes[ramOffset] & 0xff) * backgroundAlpha) + greenWithAlpha) / 256);
ramOffset++;
- offSreenBufferBytes[ramOffset] = (byte) ((((offSreenBufferBytes[ramOffset] & 0xff) * backgroundAlpha) + redWithAlpha) / 256);
+ offScreenBufferBytes[ramOffset] = (byte) ((((offScreenBufferBytes[ramOffset] & 0xff) * backgroundAlpha) + redWithAlpha) / 256);
}
}
}
}
- public int getLineInterpolator(final int startPointer, final int y) {
+ private int getLineInterpolator(final int startPointer, final int y) {
for (int i = startPointer; i < li.length; i++)
if (li[i].containsY(y))