|
@@ -207,6 +207,11 @@ public class GeometryBatchFactory {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * Batches a collection of Geometries so that all with the same material get combined.
|
|
|
+ * @param geometries The Geometries to combine
|
|
|
+ * @return A List of newly created Geometries, each with a distinct material
|
|
|
+ */
|
|
|
public static List<Geometry> makeBatches(Collection<Geometry> geometries){
|
|
|
ArrayList<Geometry> retVal = new ArrayList<Geometry>();
|
|
|
HashMap<Material, List<Geometry>> matToGeom = new HashMap<Material, List<Geometry>>();
|
|
@@ -248,6 +253,13 @@ public class GeometryBatchFactory {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Optimizes a scene by combining Geometry with the same material. If the
|
|
|
+ * given spatial has a parent it is removed from the parent and the newly
|
|
|
+ * generated scene is attached instead.
|
|
|
+ * @param scene The scene to optimize
|
|
|
+ * @return The newly created optimized scene
|
|
|
+ */
|
|
|
public static Spatial optimize(Spatial scene){
|
|
|
ArrayList<Geometry> geoms = new ArrayList<Geometry>();
|
|
|
gatherGeoms(scene, geoms);
|