|
@@ -139,25 +139,26 @@ public class LightFilterTest {
|
|
|
|
|
|
// ==================================
|
|
|
// Tests for bounding Sphere
|
|
|
- geom.setLocalTranslation(0, 0, 0);
|
|
|
-
|
|
|
+ geom.setModelBound(new BoundingSphere(1f, Vector3f.ZERO));
|
|
|
+ geom.setLocalTranslation(0, 0, 2);
|
|
|
+ pl.setPosition(new Vector3f(0, 0, 2f));
|
|
|
+
|
|
|
// Infinite point lights must never be filtered
|
|
|
pl.setRadius(0);
|
|
|
checkFilteredLights(1);
|
|
|
-
|
|
|
+
|
|
|
pl.setRadius(1f);
|
|
|
- geom.setModelBound(new BoundingSphere(1f, Vector3f.ZERO));
|
|
|
-
|
|
|
// Put the light at the very close to the geom,
|
|
|
// the very edge of the sphere touches the other bounding sphere
|
|
|
// Still not considered an intersection though.
|
|
|
- pl.setPosition(new Vector3f(0, 0, -2f));
|
|
|
+ pl.setPosition(new Vector3f(0, 0, 0));
|
|
|
checkFilteredLights(0);
|
|
|
|
|
|
// And more close - now its an intersection.
|
|
|
- pl.setPosition(new Vector3f(0, 0, 0f));
|
|
|
- checkFilteredLights(0);
|
|
|
-
|
|
|
+ pl.setPosition(new Vector3f(0, 0, 0f + FastMath.ZERO_TOLERANCE));
|
|
|
+ checkFilteredLights(1);
|
|
|
+
|
|
|
+ geom.setLocalTranslation(0, 0, 0);
|
|
|
// In this case its an intersection for pointLight v. box
|
|
|
// But not for pointLight v. sphere
|
|
|
// Vector3f(0, 0.5f, 0.5f).normalize().mult(2) ~ >= (0.0, 1.4142135, 1.4142135)
|