fix Uniform issue related to material changes
This commit is contained in:
parent
e71cf81b96
commit
3353aea546
@ -39,7 +39,7 @@ import java.nio.IntBuffer;
|
||||
|
||||
public class Uniform extends ShaderVariable {
|
||||
|
||||
private static final Integer ZERO_INT = Integer.valueOf(0);
|
||||
private static final Integer ZERO_INT = 0;
|
||||
private static final Float ZERO_FLT = Float.valueOf(0);
|
||||
private static final FloatBuffer ZERO_BUF = BufferUtils.createFloatBuffer(4*4);
|
||||
|
||||
@ -171,13 +171,25 @@ public class Uniform extends ShaderVariable {
|
||||
this.value = ZERO_FLT;
|
||||
break;
|
||||
case Vector2:
|
||||
this.value = Vector2f.ZERO;
|
||||
if (this.value != null) {
|
||||
((Vector2f) this.value).set(Vector2f.ZERO);
|
||||
}
|
||||
break;
|
||||
case Vector3:
|
||||
this.value = Vector3f.ZERO;
|
||||
if (this.value != null) {
|
||||
((Vector3f) this.value).set(Vector3f.ZERO);
|
||||
}
|
||||
break;
|
||||
case Vector4:
|
||||
this.value = Vector4f.ZERO;
|
||||
if (this.value != null) {
|
||||
if (this.value instanceof ColorRGBA) {
|
||||
((ColorRGBA) this.value).set(ColorRGBA.BlackNoAlpha);
|
||||
} else if (this.value instanceof Vector4f) {
|
||||
((Vector4f) this.value).set(Vector4f.ZERO);
|
||||
} else {
|
||||
((Quaternion) this.value).set(Quaternion.ZERO);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
// won't happen because those are either textures
|
||||
@ -312,6 +324,26 @@ public class Uniform extends ShaderVariable {
|
||||
}
|
||||
multiData.clear();
|
||||
break;
|
||||
case Vector2:
|
||||
if (value.equals(this.value)) {
|
||||
return;
|
||||
}
|
||||
if (this.value == null) {
|
||||
this.value = new Vector2f((Vector2f) value);
|
||||
} else {
|
||||
((Vector2f) this.value).set((Vector2f) value);
|
||||
}
|
||||
break;
|
||||
case Vector3:
|
||||
if (value.equals(this.value)) {
|
||||
return;
|
||||
}
|
||||
if (this.value == null) {
|
||||
this.value = new Vector3f((Vector3f) value);
|
||||
} else {
|
||||
((Vector3f) this.value).set((Vector3f) value);
|
||||
}
|
||||
break;
|
||||
case Vector4:
|
||||
if (value.equals(this.value)) {
|
||||
return;
|
||||
|
Loading…
x
Reference in New Issue
Block a user