瀏覽代碼

spot light: fix broken filter for infinite range

Kirill Vainer 10 年之前
父節點
當前提交
c41058a5a0
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      jme3-core/src/main/java/com/jme3/light/SpotLight.java

+ 4 - 1
jme3-core/src/main/java/com/jme3/light/SpotLight.java

@@ -227,7 +227,10 @@ public class SpotLight extends Light {
     
     @Override
     public boolean intersectsFrustum(Camera cam, TempVars vars) {
-        
+        if (spotRange == 0) {
+            // The algorithm below does not support infinite spot range.
+            return true;
+        }
         Vector3f farPoint = vars.vect1.set(position).addLocal(vars.vect2.set(direction).multLocal(spotRange));
         for (int i = 5; i >= 0; i--) {
             //check origin against the plane