@Test public void testAmbientFiltering() { geom.addLight(new AmbientLight()); checkFilteredLights(1); // Ambient lights must never be filtered // Test for bounding Sphere geom.setModelBound(new BoundingSphere(0.5f, Vector3f.ZERO)); checkFilteredLights(1); // Ambient lights must never be filtered }
@Test public void testDirectionalFiltering() { geom.addLight(new DirectionalLight(Vector3f.UNIT_Y)); checkFilteredLights(1); // Directional lights must never be filtered // Test for bounding Sphere geom.setModelBound(new BoundingSphere(0.5f, Vector3f.ZERO)); checkFilteredLights(1); // Directional lights must never be filtered }
PointLight pl = new PointLight(Vector3f.ZERO); geom.addLight(pl); checkFilteredLights(1); // Infinite point lights must never be filtered checkFilteredLights(0); checkFilteredLights(0); checkFilteredLights(1); checkFilteredLights(0); checkFilteredLights(0); checkFilteredLights(1); checkFilteredLights(0); checkFilteredLights(1); checkFilteredLights(0); checkFilteredLights(1); checkFilteredLights(0); checkFilteredLights(1); checkFilteredLights(0);
sl.setSpotRange(0); geom.addLight(sl); checkFilteredLights(1); // Infinite spot lights are only filtered checkFilteredLights(0); checkFilteredLights(0); assert sl.intersectsFrustum(cam, vars); } finally { checkFilteredLights(0); checkFilteredLights(1); checkFilteredLights(0); checkFilteredLights(0); checkFilteredLights(1); checkFilteredLights(1); checkFilteredLights(0); checkFilteredLights(0); checkFilteredLights(1); sl.setDirection(Vector3f.UNIT_Z);