@Test public void testEquals() { assertEquals(mpoInt("val", 5), mpoInt("val", 5)); assertEquals(mpoBool("val", true), mpoBool("val", true)); assertNotEquals(mpoInt("val", 5), mpoInt("val", 6)); assertNotEquals(mpoInt("val1", 5), mpoInt("val2", 5)); assertNotEquals(mpoBool("val", true), mpoInt("val", 1)); } }
@Test public void testNonExistentParameter() { material("Common/MatDefs/Light/Lighting.j3md"); inputMpo(mpoInt("NonExistent", 4321)); outDefines(); outUniforms(); }
@Test public void testWrongType() { material("Common/MatDefs/Light/Lighting.j3md"); inputMpo(mpoInt("UseMaterialColors", 4321)); outDefines(); outUniforms(); }
@Test public void testIntMpZero() { material("Common/MatDefs/Light/Lighting.j3md"); inputMp(mpoInt("NumberOfBones", 0)); outDefines(def("NUM_BONES", VarType.Int, 0)); outUniforms(uniform("NumberOfBones", VarType.Int, 0)); }
@Test public void testIntMpoOnly() { material("Common/MatDefs/Light/Lighting.j3md"); inputMpo(mpoInt("NumberOfBones", 1234)); outDefines(def("NUM_BONES", VarType.Int, 1234)); outUniforms(uniform("NumberOfBones", VarType.Int, 1234)); }
@Test public void testIntMpOnly() { material("Common/MatDefs/Light/Lighting.j3md"); inputMp(mpoInt("NumberOfBones", 1234)); outDefines(def("NUM_BONES", VarType.Int, 1234)); outUniforms(uniform("NumberOfBones", VarType.Int, 1234)); }
@Test public void testOverrides_CloningScene_DoesntCloneMPO() { Node originalScene = createDummyScene(); originalScene.getChild("A").addMatParamOverride(mpoInt("int", 5)); originalScene.getChild("A").addMatParamOverride(mpoBool("bool", true)); originalScene.getChild("A").addMatParamOverride(mpoFloat("float", 3.12f)); Node clonedScene = originalScene.clone(false); validateScene(clonedScene); validateScene(originalScene); List<MatParamOverride> clonedOverrides = clonedScene.getChild("A").getLocalMatParamOverrides(); List<MatParamOverride> originalOverrides = originalScene.getChild("A").getLocalMatParamOverrides(); assertNotSame(clonedOverrides, originalOverrides); assertEquals(clonedOverrides, originalOverrides); for (int i = 0; i < clonedOverrides.size(); i++) { assertNotSame(clonedOverrides.get(i), originalOverrides.get(i)); assertEquals(clonedOverrides.get(i), originalOverrides.get(i)); } }
@Test public void testOverrides_AddAfterAttach() { Node scene = createDummyScene(); scene.updateGeometricState(); Node root = new Node("Root Node"); root.updateGeometricState(); root.attachChild(scene); scene.getChild("A").addMatParamOverride(mpoInt("val", 5)); validateScene(root); }
@Test public void testOverrides_AddBeforeAttach() { Node scene = createDummyScene(); scene.getChild("A").addMatParamOverride(mpoInt("val", 5)); scene.updateGeometricState(); Node root = new Node("Root Node"); root.updateGeometricState(); root.attachChild(scene); validateScene(root); }
public void testRemoveOverride() { material("Common/MatDefs/Light/Lighting.j3md"); reset(); inputMp(mpoInt("NumberOfBones", 1234)); outDefines(def("NUM_BONES", VarType.Int, 1234)); outUniforms(uniform("NumberOfBones", VarType.Int, 1234)); reset(); inputMpo(mpoInt("NumberOfBones", 4321)); outDefines(def("NUM_BONES", VarType.Int, 4321)); outUniforms(uniform("NumberOfBones", VarType.Int, 4321)); reset(); geometry.clearMatParamOverrides(); outDefines(def("NUM_BONES", VarType.Int, 1234)); outUniforms(uniform("NumberOfBones", VarType.Int, 1234)); }
@Test public void testOverrides_RemoveAfterAttach() { Node scene = createDummyScene(); scene.updateGeometricState(); Node root = new Node("Root Node"); root.updateGeometricState(); scene.getChild("A").addMatParamOverride(mpoInt("val", 5)); root.attachChild(scene); validateScene(root); scene.getChild("A").clearMatParamOverrides(); validateScene(root); }
@Test public void testOverrides_RemoveBeforeAttach() { Node scene = createDummyScene(); scene.updateGeometricState(); Node root = new Node("Root Node"); root.updateGeometricState(); scene.getChild("A").addMatParamOverride(mpoInt("val", 5)); validateScene(scene); scene.getChild("A").clearMatParamOverrides(); validateScene(scene); root.attachChild(scene); validateScene(root); }
@Test public void testRemove() { material("Common/MatDefs/Light/Lighting.j3md"); reset(); inputMp(mpoInt("NumberOfBones", 1234)); outDefines(def("NUM_BONES", VarType.Int, 1234)); outUniforms(uniform("NumberOfBones", VarType.Int, 1234)); reset(); inputMpo(mpoInt("NumberOfBones", 4321)); outDefines(def("NUM_BONES", VarType.Int, 4321)); outUniforms(uniform("NumberOfBones", VarType.Int, 4321)); reset(); geometry.clearMatParamOverrides(); root.updateGeometricState(); outDefines(def("NUM_BONES", VarType.Int, 1234)); outUniforms(uniform("NumberOfBones", VarType.Int, 1234)); reset(); geometry.getMaterial().clearParam("NumberOfBones"); outDefines(); outUniforms(); reset(); inputMpo(mpoInt("NumberOfBones", 4321)); outDefines(def("NUM_BONES", VarType.Int, 4321)); outUniforms(uniform("NumberOfBones", VarType.Int, 4321)); reset(); inputMp(mpoInt("NumberOfBones", 1234)); outDefines(def("NUM_BONES", VarType.Int, 4321)); outUniforms(uniform("NumberOfBones", VarType.Int, 4321)); }
@Test public void testRemoveMpoOnly() { material("Common/MatDefs/Light/Lighting.j3md"); reset(); inputMpo(mpoInt("NumberOfBones", 4321)); outDefines(def("NUM_BONES", VarType.Int, 4321)); outUniforms(uniform("NumberOfBones", VarType.Int, 4321)); reset(); geometry.clearMatParamOverrides(); root.updateGeometricState(); outDefines(); outUniforms(); }
@Test public void testOverrides_SaveAndLoad_KeepsMPOs() { MatParamOverride override = mpoInt("val", 5); Node scene = createDummyScene(); scene.getChild("A").addMatParamOverride(override); AssetManager assetManager = TestUtil.createAssetManager(); Node loadedScene = BinaryExporter.saveAndLoad(assetManager, scene); Node root = new Node("Root Node"); root.attachChild(loadedScene); validateScene(root); validateScene(scene); assertNotSame(override, loadedScene.getChild("A").getLocalMatParamOverrides().get(0)); assertEquals(override, loadedScene.getChild("A").getLocalMatParamOverrides().get(0)); }