File tree 1 file changed +11
-3
lines changed
jme3-core/src/main/java/com/jme3/util/mikktspace
1 file changed +11
-3
lines changed Original file line number Diff line number Diff line change 34
34
import com .jme3 .math .FastMath ;
35
35
import com .jme3 .math .Vector3f ;
36
36
import com .jme3 .scene .*;
37
+ import com .jme3 .scene .VertexBuffer .Type ;
37
38
import com .jme3 .util .*;
38
39
39
40
import java .util .ArrayList ;
@@ -129,12 +130,19 @@ public static void generate(Mesh mesh) {
129
130
private static boolean generateTangents (Mesh mesh ) {
130
131
Mesh .Mode mode = mesh .getMode ();
131
132
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
+
132
139
switch (mode ) {
133
140
case Points :
134
141
case Lines :
135
142
case LineStrip :
136
143
case LineLoop :
137
144
hasTriangles = false ; // skip this mesh
145
+ logger .log (Level .SEVERE , "Tangent generation requires a mesh with Triangles" , mode );
138
146
break ;
139
147
140
148
case Triangles :
@@ -148,12 +156,12 @@ private static boolean generateTangents(Mesh mesh) {
148
156
logger .log (Level .SEVERE , "Tangent generation isn't implemented for mode={0}" , mode );
149
157
return false ;
150
158
}
151
-
159
+
152
160
if (hasTriangles ) {
153
161
MikkTSpaceImpl context = new MikkTSpaceImpl (mesh );
154
- boolean result = genTangSpaceDefault (context );
162
+ boolean results = genTangSpaceDefault (context );
155
163
TangentUtils .generateBindPoseTangentsIfNecessary (mesh );
156
- return result ;
164
+ return results ;
157
165
}
158
166
return false ;
159
167
}
You can’t perform that action at this time.
0 commit comments