Browse Source

Skip meshes that don't have normals (prevents NPE)

Toni Helenius 2 years ago
parent
commit
4c9e476088

+ 5 - 0
jme3-core/src/com/jme3/gde/core/scene/state/NormalViewState.java

@@ -38,6 +38,7 @@ import com.jme3.material.Material;
 import com.jme3.scene.Geometry;
 import com.jme3.scene.Geometry;
 import com.jme3.scene.Node;
 import com.jme3.scene.Node;
 import com.jme3.scene.Spatial;
 import com.jme3.scene.Spatial;
+import com.jme3.scene.VertexBuffer.Type;
 import com.jme3.util.TangentBinormalGenerator;
 import com.jme3.util.TangentBinormalGenerator;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
@@ -74,6 +75,10 @@ public final class NormalViewState extends BaseAppState {
                 "Common/Materials/VertexColor.j3m");
                 "Common/Materials/VertexColor.j3m");
 
 
         for (final Geometry geometry : geometries) {
         for (final Geometry geometry : geometries) {
+            if(geometry.getMesh().getBuffer(Type.Normal) == null) {
+                continue;
+            }
+            
             final Geometry debug = new Geometry(geometry.getName(),
             final Geometry debug = new Geometry(geometry.getName(),
                     TangentBinormalGenerator.genNormalLines(geometry.getMesh(),
                     TangentBinormalGenerator.genNormalLines(geometry.getMesh(),
                             normalLength));
                             normalLength));