- make GeometryBatchFactory check for diffuse texture before applying normal textures

- make GeometryBatchFactory throw exception when atlas is full

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@9042 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
3.0
nor..67 13 years ago
parent 48ce86e607
commit d5c766cc8b
  1. 17
      engine/src/tools/jme3tools/optimize/GeometryBatchFactory.java

@ -339,13 +339,14 @@ public class GeometryBatchFactory {
if (diffuse != null && diffuse.getKey() != null) {
String keyName = diffuse.getKey().getName();
if (!atlas.addTexture(diffuse, "DiffuseMap")) {
logger.log(Level.WARNING, "Adding diffuse texture {0} to atlas failed, atlas full?", keyName);
}
if (normal != null && normal.getKey() != null) {
atlas.addTexture(diffuse, "NormalMap", keyName);
}
if (specular != null && specular.getKey() != null) {
atlas.addTexture(specular, "SpecularMap", keyName);
throw new IllegalStateException("Adding diffuse texture" + keyName + "to atlas failed, atlas full.");
} else {
if (normal != null && normal.getKey() != null) {
atlas.addTexture(diffuse, "NormalMap", keyName);
}
if (specular != null && specular.getKey() != null) {
atlas.addTexture(specular, "SpecularMap", keyName);
}
}
}
}
@ -370,7 +371,7 @@ public class GeometryBatchFactory {
mat.setTexture("SpecularMap", specularMap);
}
mat.setFloat("Shininess", 16.0f);
geom.setMaterial(mat);
return geom;
}

Loading…
Cancel
Save