From: Svjatoslav Agejenko Date: Tue, 13 Jun 2017 09:55:53 +0000 (+0300) Subject: Enable glowing point texture caching. X-Git-Tag: sixth-3d-1.2~55 X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=commitdiff_plain;h=b96792157e8a4ca207ceb3fffab6165ed8b25192;p=sixth-3d.git Enable glowing point texture caching. --- diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/GlowingPoint.java b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/GlowingPoint.java index 4dd454f..339d6bb 100644 --- a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/GlowingPoint.java +++ b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/GlowingPoint.java @@ -28,12 +28,19 @@ public class GlowingPoint extends ForwardOrientedTexture { final Color color) { super(point, pointSize, getTexture(color)); this.color = color; + + synchronized (glowingPoints){ + glowingPoints.add(this); + } } private static Texture getTexture(final Color color) { // attempt to reuse texture from existing glowing point of the same color - for (GlowingPoint glowingPoint : glowingPoints) - if (color.equals(glowingPoint.color)) return glowingPoint.texture; + synchronized (glowingPoints) { + for (GlowingPoint glowingPoint : glowingPoints) + if (color.equals(glowingPoint.color)) + return glowingPoint.texture; + } // existing texture not found, creating new one return createTexture(color);