@@ -146,4 +146,10 @@ public class DirectionalLight extends Light {
direction = (Vector3f) ic.readSavable("direction", null);
}
+ @Override
+ public DirectionalLight clone() {
+ DirectionalLight l = (DirectionalLight)super.clone();
+ l.direction = direction.clone();
+ return l;
+ }
@@ -228,7 +228,9 @@ public abstract class Light implements Savable, Cloneable {
@Override
public Light clone(){
try {
- return (Light) super.clone();
+ Light l = (Light) super.clone();
+ l.color = color.clone();
} catch (CloneNotSupportedException ex) {
throw new AssertionError();
@@ -241,4 +241,11 @@ public class PointLight extends Light {
this.invRadius = 0;
+
+ public PointLight clone() {
+ PointLight p = (PointLight)super.clone();
+ p.position = position.clone();
+ return p;
@@ -448,5 +448,13 @@ public class SpotLight extends Light {
this.invSpotRange = 0;
+ public SpotLight clone() {
+ SpotLight s = (SpotLight)super.clone();
+ s.direction = direction.clone();
+ s.position = position.clone();
+ return s;