@Test public void testBoolOverrideTrue() { material("Common/MatDefs/Light/Lighting.j3md"); inputMp(mpoBool("UseMaterialColors", false)); inputMpo(mpoBool("UseMaterialColors", true)); outDefines(def("MATERIAL_COLORS", VarType.Boolean, true)); outUniforms(uniform("UseMaterialColors", VarType.Boolean, true)); }
@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 testBoolMpFalse() { material("Common/MatDefs/Light/Lighting.j3md"); inputMp(mpoBool("UseMaterialColors", false)); outDefines(def("MATERIAL_COLORS", VarType.Boolean, false)); outUniforms(uniform("UseMaterialColors", VarType.Boolean, false)); }
@Test public void testBoolMpoOnly() { material("Common/MatDefs/Light/Lighting.j3md"); inputMpo(mpoBool("UseMaterialColors", true)); outDefines(def("MATERIAL_COLORS", VarType.Boolean, true)); outUniforms(uniform("UseMaterialColors", VarType.Boolean, true)); }
@Test public void testBoolMpOnly() { material("Common/MatDefs/Light/Lighting.j3md"); inputMp(mpoBool("UseMaterialColors", true)); outDefines(def("MATERIAL_COLORS", VarType.Boolean, true)); outUniforms(uniform("UseMaterialColors", VarType.Boolean, true)); }
@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_AddRemove() { MatParamOverride override = mpoBool("Test", true); Node n = new Node("Node"); n.removeMatParamOverride(override); assertTrue(n.getLocalMatParamOverrides().isEmpty()); assertTrue(n.getWorldMatParamOverrides().isEmpty()); n.addMatParamOverride(override); assertSame(n.getLocalMatParamOverrides().get(0), override); assertTrue(n.getWorldMatParamOverrides().isEmpty()); n.updateGeometricState(); assertSame(n.getLocalMatParamOverrides().get(0), override); assertSame(n.getWorldMatParamOverrides().get(0), override); n.removeMatParamOverride(override); assertTrue(n.getLocalMatParamOverrides().isEmpty()); assertSame(n.getWorldMatParamOverrides().get(0), override); n.updateGeometricState(); assertTrue(n.getLocalMatParamOverrides().isEmpty()); assertTrue(n.getWorldMatParamOverrides().isEmpty()); }
@Test public void testOverrides_Clear() { MatParamOverride override = mpoBool("Test", true); Node n = new Node("Node"); n.clearMatParamOverrides(); assertTrue(n.getLocalMatParamOverrides().isEmpty()); assertTrue(n.getWorldMatParamOverrides().isEmpty()); n.addMatParamOverride(override); n.clearMatParamOverrides(); assertTrue(n.getLocalMatParamOverrides().isEmpty()); assertTrue(n.getWorldMatParamOverrides().isEmpty()); n.addMatParamOverride(override); n.updateGeometricState(); n.clearMatParamOverrides(); assertTrue(n.getLocalMatParamOverrides().isEmpty()); assertSame(n.getWorldMatParamOverrides().get(0), override); n.updateGeometricState(); assertTrue(n.getLocalMatParamOverrides().isEmpty()); assertTrue(n.getWorldMatParamOverrides().isEmpty()); n.addMatParamOverride(override); n.clearMatParamOverrides(); n.updateGeometricState(); assertTrue(n.getLocalMatParamOverrides().isEmpty()); assertTrue(n.getWorldMatParamOverrides().isEmpty()); }