Skip to content

Commit edba4b9

Browse files
stephengoldNehon
authored andcommitted
test override of ColorRGBA mat param with a Vector4f or Quaternion value
1 parent 0d8b86b commit edba4b9

File tree

1 file changed

+29
-8
lines changed

1 file changed

+29
-8
lines changed

jme3-examples/src/main/java/jme3test/material/TestMatParamOverride.java

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2009-2016 jMonkeyEngine
2+
* Copyright (c) 2009-2017 jMonkeyEngine
33
* All rights reserved.
44
*
55
* Redistribution and use in source and binary forms, with or without
@@ -38,6 +38,8 @@
3838
import com.jme3.material.MatParamOverride;
3939
import com.jme3.material.Material;
4040
import com.jme3.math.ColorRGBA;
41+
import com.jme3.math.Quaternion;
42+
import com.jme3.math.Vector4f;
4143
import com.jme3.scene.Geometry;
4244
import com.jme3.scene.shape.Box;
4345
import com.jme3.shader.VarType;
@@ -50,7 +52,15 @@
5052
public class TestMatParamOverride extends SimpleApplication {
5153

5254
private Box box = new Box(1, 1, 1);
53-
private MatParamOverride override = new MatParamOverride(VarType.Vector4, "Color", ColorRGBA.Yellow);
55+
final MatParamOverride overrideYellow
56+
= new MatParamOverride(VarType.Vector4, "Color",
57+
ColorRGBA.Yellow);
58+
final MatParamOverride overrideWhite
59+
= new MatParamOverride(VarType.Vector4, "Color",
60+
Vector4f.UNIT_XYZW);
61+
final MatParamOverride overrideGray
62+
= new MatParamOverride(VarType.Vector4, "Color",
63+
new Quaternion(0.5f, 0.5f, 0.5f, 1f));
5464

5565
public static void main(String[] args) {
5666
TestMatParamOverride app = new TestMatParamOverride();
@@ -74,19 +84,30 @@ public void simpleInitApp() {
7484
createBox(0, ColorRGBA.Green);
7585
createBox(3, ColorRGBA.Blue);
7686

77-
inputManager.addMapping("override", new KeyTrigger(KeyInput.KEY_SPACE));
87+
System.out.println("Press G, W, Y, or space bar ...");
88+
inputManager.addMapping("overrideClear", new KeyTrigger(KeyInput.KEY_SPACE));
89+
inputManager.addMapping("overrideGray", new KeyTrigger(KeyInput.KEY_G));
90+
inputManager.addMapping("overrideWhite", new KeyTrigger(KeyInput.KEY_W));
91+
inputManager.addMapping("overrideYellow", new KeyTrigger(KeyInput.KEY_Y));
7892
inputManager.addListener(new ActionListener() {
7993
@Override
8094
public void onAction(String name, boolean isPressed, float tpf) {
81-
if (name.equals("override") && isPressed) {
82-
if (!rootNode.getLocalMatParamOverrides().isEmpty()) {
95+
if (isPressed) {
96+
if (name.equals("overrideClear")) {
8397
rootNode.clearMatParamOverrides();
84-
} else {
85-
rootNode.addMatParamOverride(override);
98+
} else if (name.equals("overrideGray")) {
99+
rootNode.clearMatParamOverrides();
100+
rootNode.addMatParamOverride(overrideGray);
101+
} else if (name.equals("overrideWhite")) {
102+
rootNode.clearMatParamOverrides();
103+
rootNode.addMatParamOverride(overrideWhite);
104+
} else if (name.equals("overrideYellow")) {
105+
rootNode.clearMatParamOverrides();
106+
rootNode.addMatParamOverride(overrideYellow);
86107
}
87108
System.out.println(rootNode.getLocalMatParamOverrides());
88109
}
89110
}
90-
}, "override");
111+
}, "overrideClear", "overrideGray", "overrideWhite", "overrideYellow");
91112
}
92113
}

0 commit comments

Comments
 (0)