projects
/
sixth-3d.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
729f2c5
)
Code refactoring.
author
Svjatoslav Agejenko
<svjatoslav@svjatoslav.eu>
Mon, 9 Jul 2018 12:14:18 +0000
(15:14 +0300)
committer
Svjatoslav Agejenko
<svjatoslav@svjatoslav.eu>
Mon, 9 Jul 2018 12:14:18 +0000
(15:14 +0300)
src/main/java/eu/svjatoslav/sixth/e3d/gui/RenderingContext.java
patch
|
blob
|
history
src/main/java/eu/svjatoslav/sixth/e3d/gui/View.java
patch
|
blob
|
history
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/ForwardOrientedTexture.java
patch
|
blob
|
history
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/line/Line.java
patch
|
blob
|
history
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/solidpolygon/SolidPolygon.java
patch
|
blob
|
history
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedPolygon.java
patch
|
blob
|
history
diff --git
a/src/main/java/eu/svjatoslav/sixth/e3d/gui/RenderingContext.java
b/src/main/java/eu/svjatoslav/sixth/e3d/gui/RenderingContext.java
index
83dcae8
..
5e74a94
100644
(file)
--- a/
src/main/java/eu/svjatoslav/sixth/e3d/gui/RenderingContext.java
+++ b/
src/main/java/eu/svjatoslav/sixth/e3d/gui/RenderingContext.java
@@
-21,11
+21,11
@@
public class RenderingContext {
public static final int bufferedImageType = BufferedImage.TYPE_4BYTE_ABGR;
public static final int bufferedImageType = BufferedImage.TYPE_4BYTE_ABGR;
-
public
final BufferedImage bufferedImage;
+ final BufferedImage bufferedImage;
public final Graphics2D graphics;
public final Graphics2D graphics;
- public final byte[]
byte
s;
+ public final byte[]
pixel
s;
public final int width;
public final int height;
public final int width;
public final int height;
@@
-44,13
+44,17
@@
public class RenderingContext {
*/
public boolean doRender = true; // TODO: make use of the variable
*/
public boolean doRender = true; // TODO: make use of the variable
+ /**
+ * Mouse click. During rendering we can detect which item user clicked on.
+ */
public MouseClick mouseClick;
public MouseClick mouseClick;
+ /**
+ * Item that user clicked on.
+ */
public MouseInteractionController clickedItem;
public MouseInteractionController clickedItem;
- public RenderingContext(final int width, final int height,
- final RenderingContext oldContext) {
-
+ public RenderingContext(final int width, final int height) {
this.width = width;
this.height = height;
this.width = width;
this.height = height;
@@
-63,7
+67,7
@@
public class RenderingContext {
final WritableRaster raster = bufferedImage.getRaster();
final DataBufferByte dbi = (DataBufferByte) raster.getDataBuffer();
final WritableRaster raster = bufferedImage.getRaster();
final DataBufferByte dbi = (DataBufferByte) raster.getDataBuffer();
-
byte
s = dbi.getData();
+
pixel
s = dbi.getData();
graphics = (Graphics2D) bufferedImage.getGraphics();
graphics = (Graphics2D) bufferedImage.getGraphics();
@@
-72,11
+76,6
@@
public class RenderingContext {
graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
-
- if (oldContext != null) {
- mouseClick = oldContext.mouseClick;
- clickedItem = oldContext.clickedItem;
- }
}
}
}
}
diff --git
a/src/main/java/eu/svjatoslav/sixth/e3d/gui/View.java
b/src/main/java/eu/svjatoslav/sixth/e3d/gui/View.java
index
43d19c4
..
bd60473
100755
(executable)
--- a/
src/main/java/eu/svjatoslav/sixth/e3d/gui/View.java
+++ b/
src/main/java/eu/svjatoslav/sixth/e3d/gui/View.java
@@
-31,7
+31,7
@@
public class View extends JPanel implements ComponentListener {
long lastUpdateMillis = 0;
private Timer canvasUpdateTimer;
private ViewUpdateTimerTask canvasUpdateTimerTask;
long lastUpdateMillis = 0;
private Timer canvasUpdateTimer;
private ViewUpdateTimerTask canvasUpdateTimerTask;
- private RenderingContext renderingContext = n
ew RenderingContext(1, 1, null)
;
+ private RenderingContext renderingContext = n
ull
;
private MouseInteractionController currentMouseOverComponent;
/**
* Currently target FPS for this view. It might change at runtime.
private MouseInteractionController currentMouseOverComponent;
/**
* Currently target FPS for this view. It might change at runtime.
@@
-153,8
+153,7
@@
public class View extends JPanel implements ComponentListener {
if ((renderingContext == null)
|| (renderingContext.width != getWidth())
|| (renderingContext.height != getHeight()))
if ((renderingContext == null)
|| (renderingContext.width != getWidth())
|| (renderingContext.height != getHeight()))
- renderingContext = new RenderingContext(getWidth(), getHeight(),
- renderingContext);
+ renderingContext = new RenderingContext(getWidth(), getHeight());
// clear drawing area
{
// clear drawing area
{
@@
-219,8
+218,10
@@
public class View extends JPanel implements ComponentListener {
* graphics is needed.
*/
public void updateView() {
* graphics is needed.
*/
public void updateView() {
- renderingContext.mouseClick = null;
- renderingContext.clickedItem = null;
+ if (renderingContext != null){
+ renderingContext.mouseClick = null;
+ renderingContext.clickedItem = null;
+ }
// compute time passed since last view update
final long currentTime = System.currentTimeMillis();
// compute time passed since last view update
final long currentTime = System.currentTimeMillis();
diff --git
a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/ForwardOrientedTexture.java
b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/ForwardOrientedTexture.java
index
474f05c
..
4d2bb1f
100644
(file)
--- a/
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/ForwardOrientedTexture.java
+++ b/
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/ForwardOrientedTexture.java
@@
-18,7
+18,7
@@
import eu.svjatoslav.sixth.e3d.renderer.raster.texture.TextureBitmap;
public class ForwardOrientedTexture extends AbstractCoordinateShape {
public class ForwardOrientedTexture extends AbstractCoordinateShape {
- p
ublic
static final double SIZE_MULTIPLIER = 0.005;
+ p
rivate
static final double SIZE_MULTIPLIER = 0.005;
public Texture texture;
private double scale;
public Texture texture;
private double scale;
@@
-78,7
+78,7
@@
public class ForwardOrientedTexture extends AbstractCoordinateShape {
if (xEnd > targetRenderingArea.width)
xEnd = targetRenderingArea.width;
if (xEnd > targetRenderingArea.width)
xEnd = targetRenderingArea.width;
- final byte[] targetRenderingAreaBytes = targetRenderingArea.
byte
s;
+ final byte[] targetRenderingAreaBytes = targetRenderingArea.
pixel
s;
final int textureWidth = textureBitmap.width;
final int textureWidth = textureBitmap.width;
diff --git
a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/line/Line.java
b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/line/Line.java
index
d5cb35c
..
b06699d
100644
(file)
--- a/
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/line/Line.java
+++ b/
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/line/Line.java
@@
-28,8
+28,8
@@
public class Line extends AbstractCoordinateShape {
public Line(final Line parentLine) {
this(parentLine.coordinates[0].coordinate.clone(),
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 Line(final Point3D point1, final Point3D point2, final Color color,
@@
-45,9
+45,9
@@
public class Line extends AbstractCoordinateShape {
}
}
- p
ublic
void drawHorizontalLine(final LineInterpolator line1,
- final LineInterpolator line2, final int y,
- final RenderingContext renderBuffer) {
+ p
rivate
void drawHorizontalLine(final LineInterpolator line1,
+
final LineInterpolator line2, final int y,
+
final RenderingContext renderBuffer) {
int x1 = line1.getX(y);
int x2 = line2.getX(y);
int x1 = line1.getX(y);
int x2 = line2.getX(y);
@@
-79,7
+79,7
@@
public class Line extends AbstractCoordinateShape {
final int drawnWidth = x2 - x1;
int offset = ((y * renderBuffer.width) + x1) * 4;
final int drawnWidth = x2 - x1;
int offset = ((y * renderBuffer.width) + x1) * 4;
- final byte[] offSreenBufferBytes = renderBuffer.
byte
s;
+ final byte[] offSreenBufferBytes = renderBuffer.
pixel
s;
final int lineAlpha = color.a;
final int lineAlpha = color.a;
@@
-108,8
+108,8
@@
public class Line extends AbstractCoordinateShape {
}
}
- p
ublic
void drawSinglePixelHorizontalLine(final RenderingContext buffer,
- final int alpha) {
+ p
rivate
void drawSinglePixelHorizontalLine(final RenderingContext buffer,
+
final int alpha) {
final Point2D onScreenPoint1 = coordinates[0].onScreenCoordinate;
final Point2D onScreenPoint2 = coordinates[1].onScreenCoordinate;
final Point2D onScreenPoint1 = coordinates[0].onScreenCoordinate;
final Point2D onScreenPoint2 = coordinates[1].onScreenCoordinate;
@@
-135,7
+135,7
@@
public class Line extends AbstractCoordinateShape {
if (lineWidth == 0)
return;
if (lineWidth == 0)
return;
- final byte[] offSreenBufferBytes = buffer.
byte
s;
+ final byte[] offSreenBufferBytes = buffer.
pixel
s;
final int backgroundAlpha = 255 - alpha;
final int blueWithAlpha = color.b * alpha;
final int backgroundAlpha = 255 - alpha;
final int blueWithAlpha = color.b * alpha;
@@
-164,8
+164,8
@@
public class Line extends AbstractCoordinateShape {
}
}
- p
ublic
void drawSinglePixelVerticalLine(final RenderingContext buffer,
- final int alpha) {
+ p
rivate
void drawSinglePixelVerticalLine(final RenderingContext buffer,
+
final int alpha) {
final Point2D onScreenPoint1 = coordinates[0].onScreenCoordinate;
final Point2D onScreenPoint2 = coordinates[1].onScreenCoordinate;
final Point2D onScreenPoint1 = coordinates[0].onScreenCoordinate;
final Point2D onScreenPoint2 = coordinates[1].onScreenCoordinate;
@@
-191,11
+191,11
@@
public class Line extends AbstractCoordinateShape {
if (lineHeight == 0)
return;
if (lineHeight == 0)
return;
- final byte[] offS
reenBufferBytes = buffer.byte
s;
+ final byte[] offS
creenBufferBytes = buffer.pixel
s;
final int backgroundAlpha = 255 - alpha;
final int blueWithAlpha = color.b * alpha;
final int backgroundAlpha = 255 - alpha;
final int blueWithAlpha = color.b * alpha;
- final int greenWithA
pl
ha = color.g * alpha;
+ final int greenWithA
lp
ha = color.g * alpha;
final int redWithAlpha = color.r * alpha;
for (int relativeY = 0; relativeY <= lineHeight; relativeY++) {
final int redWithAlpha = color.r * alpha;
for (int relativeY = 0; relativeY <= lineHeight; relativeY++) {
@@
-207,19
+207,19
@@
public class Line extends AbstractCoordinateShape {
if ((x >= 0) && (x < buffer.width)) {
int ramOffset = ((y * buffer.width) + x) * 4;
if ((x >= 0) && (x < buffer.width)) {
int ramOffset = ((y * buffer.width) + x) * 4;
- offSreenBufferBytes[ramOffset] = (byte) 255;
+ offS
c
reenBufferBytes[ramOffset] = (byte) 255;
ramOffset++;
ramOffset++;
- offS
reenBufferBytes[ramOffset] = (byte) ((((offS
reenBufferBytes[ramOffset] & 0xff) * backgroundAlpha) + blueWithAlpha) / 256);
+ offS
creenBufferBytes[ramOffset] = (byte) ((((offSc
reenBufferBytes[ramOffset] & 0xff) * backgroundAlpha) + blueWithAlpha) / 256);
ramOffset++;
ramOffset++;
- offS
reenBufferBytes[ramOffset] = (byte) ((((offSreenBufferBytes[ramOffset] & 0xff) * backgroundAlpha) + greenWithApl
ha) / 256);
+ offS
creenBufferBytes[ramOffset] = (byte) ((((offScreenBufferBytes[ramOffset] & 0xff) * backgroundAlpha) + greenWithAlp
ha) / 256);
ramOffset++;
ramOffset++;
- offS
reenBufferBytes[ramOffset] = (byte) ((((offS
reenBufferBytes[ramOffset] & 0xff) * backgroundAlpha) + redWithAlpha) / 256);
+ offS
creenBufferBytes[ramOffset] = (byte) ((((offSc
reenBufferBytes[ramOffset] & 0xff) * backgroundAlpha) + redWithAlpha) / 256);
}
}
}
}
}
}
}
}
- p
ublic
int getLineInterpolator(final int startPointer, final int y) {
+ p
rivate
int getLineInterpolator(final int startPointer, final int y) {
for (int i = startPointer; i < li.length; i++)
if (li[i].containsY(y))
for (int i = startPointer; i < li.length; i++)
if (li[i].containsY(y))
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
992a406
..
00ae317
100644
(file)
--- 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
@@
-19,9
+19,9
@@
import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.AbstractCoordinateShape;
public class SolidPolygon extends AbstractCoordinateShape {
public class SolidPolygon extends AbstractCoordinateShape {
- final static LineInterpolator polygonBoundary1 = new LineInterpolator();
- final static LineInterpolator polygonBoundary2 = new LineInterpolator();
- final static LineInterpolator polygonBoundary3 = new LineInterpolator();
+
private
final static LineInterpolator polygonBoundary1 = new LineInterpolator();
+
private
final static LineInterpolator polygonBoundary2 = new LineInterpolator();
+
private
final static LineInterpolator polygonBoundary3 = new LineInterpolator();
private Color color;
public SolidPolygon(final Point3D point1, final Point3D point2,
private Color color;
public SolidPolygon(final Point3D point1, final Point3D point2,
@@
-52,7
+52,7
@@
public class SolidPolygon extends AbstractCoordinateShape {
final int width = x2 - x1;
int offset = ((y * renderBuffer.width) + x1) * 4;
final int width = x2 - x1;
int offset = ((y * renderBuffer.width) + x1) * 4;
- final byte[] offSreenBufferBytes = renderBuffer.
byte
s;
+ final byte[] offSreenBufferBytes = renderBuffer.
pixel
s;
final int polygonAlpha = color.a;
final int b = color.b;
final int polygonAlpha = color.a;
final int b = color.b;
diff --git
a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedPolygon.java
b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedPolygon.java
index
e4e30fc
..
686244c
100644
(file)
--- a/
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedPolygon.java
+++ b/
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedPolygon.java
@@
-105,7
+105,7
@@
public class TexturedPolygon extends AbstractCoordinateShape {
x2 = renderBuffer.width - 1;
int renderBufferOffset = ((y * renderBuffer.width) + x1) * 4;
x2 = renderBuffer.width - 1;
int renderBufferOffset = ((y * renderBuffer.width) + x1) * 4;
- final byte[] renderBufferBytes = renderBuffer.
byte
s;
+ final byte[] renderBufferBytes = renderBuffer.
pixel
s;
final double twidth = tx2 - tx1;
final double theight = ty2 - ty1;
final double twidth = tx2 - tx1;
final double theight = ty2 - ty1;