Enable glowing point texture caching.
[sixth-3d.git] / src / main / java / eu / svjatoslav / sixth / e3d / renderer / raster / shapes / basic / GlowingPoint.java
index 4dd454f..339d6bb 100644 (file)
@@ -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);