File tree Expand file tree Collapse file tree 1 file changed +11
-3
lines changed
jme3-core/src/main/java/com/jme3/util/mikktspace Expand file tree Collapse file tree 1 file changed +11
-3
lines changed Original file line number Diff line number Diff line change 3434import com .jme3 .math .FastMath ;
3535import com .jme3 .math .Vector3f ;
3636import com .jme3 .scene .*;
37+ import com .jme3 .scene .VertexBuffer .Type ;
3738import com .jme3 .util .*;
3839
3940import java .util .ArrayList ;
@@ -129,12 +130,19 @@ public static void generate(Mesh mesh) {
129130 private static boolean generateTangents (Mesh mesh ) {
130131 Mesh .Mode mode = mesh .getMode ();
131132 boolean hasTriangles ;
133+
134+ if (mesh .getBuffer (Type .TexCoord ) == null || mesh .getBuffer (Type .Normal ) == null ) {
135+ logger .log (Level .SEVERE , "Tangent generation requires both a normal and texCoord buffer" );
136+ return false ;
137+ }
138+
132139 switch (mode ) {
133140 case Points :
134141 case Lines :
135142 case LineStrip :
136143 case LineLoop :
137144 hasTriangles = false ; // skip this mesh
145+ logger .log (Level .SEVERE , "Tangent generation requires a mesh with Triangles" , mode );
138146 break ;
139147
140148 case Triangles :
@@ -148,12 +156,12 @@ private static boolean generateTangents(Mesh mesh) {
148156 logger .log (Level .SEVERE , "Tangent generation isn't implemented for mode={0}" , mode );
149157 return false ;
150158 }
151-
159+
152160 if (hasTriangles ) {
153161 MikkTSpaceImpl context = new MikkTSpaceImpl (mesh );
154- boolean result = genTangSpaceDefault (context );
162+ boolean results = genTangSpaceDefault (context );
155163 TangentUtils .generateBindPoseTangentsIfNecessary (mesh );
156- return result ;
164+ return results ;
157165 }
158166 return false ;
159167 }
You can’t perform that action at this time.
0 commit comments