public final class Optimizer
extends java.lang.Object
Model structure in term of rendering speed and memory usage.
ModelReaderSettings settings = new ModelReaderSettings();
settings.< fields > = < value >;
Optimizer.Param optimizerParam = Optimizer.getBestOptions(settings.animated);
settings.optimizerParam = optimizerParam;
optimizer.setRemoveHiddenObject(true); //Default: false
optimizer.setRemoveAdvancedMaps(true); //Default: false
optimizer.setAnimationCompressionLevel(1); //Default: -1
optimizer.setRemoveMorphTargets(true); //Default: false
Optimizer optimizer = Optimizer.getBestOptions(model);
optimizer.optimize(model);
Param#getBestOptions(boolean),
Param#getBestOptions(Model),
| Constructor and Description |
|---|
Optimizer()
Default
Optimizer, each optimization must be enabled using the setter of this class. |
| Modifier and Type | Method and Description |
|---|---|
Optimizer |
clone() |
boolean |
equals(java.lang.Object obj) |
int |
getAnimationCompressionLevel() |
static Optimizer |
getBestOptions(boolean animated)
Best options for animated or non-animated models.
|
static Optimizer |
getBestOptions(Model model)
Analyze the model and get the best options to optimize it.
|
int |
getOptimizations() |
boolean |
isFlattenMeshHierarchy() |
boolean |
isFlattenModelHierarchy() |
boolean |
isMergeDuplicatedMaterials() |
boolean |
isMergeMeshPerMaterialId() |
boolean |
isOptimizeVertexCache() |
boolean |
isOptimizeVertexDataWithOneJoint() |
boolean |
isPrecomputeBox() |
boolean |
isPrecomputeCapsule() |
boolean |
isPrecomputeCylinder() |
boolean |
isPrecomputeSphere() |
boolean |
isRemoveAdvancedMaps() |
boolean |
isRemoveAnimation() |
boolean |
isRemoveEmptyObject() |
boolean |
isRemoveHiddenObject() |
boolean |
isRemoveMapNotLoaded() |
boolean |
isRemoveMorphTargets() |
boolean |
isRemoveUnusedMaterial() |
boolean |
isRemoveUnusedShaderVertexAttributes() |
boolean |
isRemoveUnusedSkeletonAttributes() |
boolean |
isRemoveUnusedVertexAttributes() |
boolean |
isTransformAll() |
boolean |
isTransformStaticMesh() |
boolean |
isUseMaterialStringReference() |
void |
optimize(Model model)
Optimize model
|
void |
setAnimationCompressionLevel(int level) |
void |
setFlattenMeshHierarchy(boolean flattenMeshHierarchy) |
void |
setFlattenModelHierarchy(boolean flattenModelHierarchy) |
void |
setMergeDuplicatedMaterials(boolean mergeDuplicatedMaterials) |
void |
setMergeMeshPerMaterialId(boolean mergeMeshPerMaterialId) |
void |
setOptimizations(int bitFieldOptimizations) |
void |
setOptimizeVertexCache(boolean optimizeVertexCache) |
void |
setOptimizeVertexDataWithOneJoint(boolean optimizeVertexDataWithOneJoint) |
void |
setPrecomputeBox(boolean precomputeBox) |
void |
setPrecomputeCapsule(boolean precomputeCapsule) |
void |
setPrecomputeCylinder(boolean precomputeCylinder) |
void |
setPrecomputeSphere(boolean precomputeSphere) |
void |
setRemoveAdvancedMaps(boolean removeAdvancedMaps)
Remove all textures used only by shaders.
|
void |
setRemoveAnimation(boolean removeAnimation) |
void |
setRemoveEmptyObject(boolean removeEmptyObject) |
void |
setRemoveHiddenObject(boolean removeHiddenObject)
Remove all hidden objects if:
Material is fully transparent Mesh is flagged as invisible Model is flagged as invisible Mesh does not contains any visible geometry Model does not contains any visible geometry This option is not setted by getBestOptions(boolean) or
getBestOptions(Model). |
void |
setRemoveMapNotLoaded(boolean removeMapNotLoaded) |
void |
setRemoveMorphTargets(boolean removeMorphTargets) |
void |
setRemoveUnusedMaterial(boolean removeUnusedMaterial) |
void |
setRemoveUnusedShaderVertexAttributes(boolean removeUnusedShaderVertexAttributes) |
void |
setRemoveUnusedSkeletonAttributes(boolean removeUnusedSkeletonAttributes) |
void |
setRemoveUnusedVertexAttributes(boolean removeUnusedVertexAttributes) |
void |
setTransformAll(boolean transformModelAndMesh) |
void |
setTransformMesh(boolean transformStaticMesh) |
void |
setUseMaterialStringReference(boolean materialStringReference) |
public Optimizer()
Optimizer, each optimization must be enabled using the setter of this class.getBestOptions(boolean),
getBestOptions(Model)public static final Optimizer getBestOptions(Model model)
public static final Optimizer getBestOptions(boolean animated)
public final Optimizer clone()
clone in class java.lang.Objectpublic final boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic final int getOptimizations()
setOptimizations(int)public final void setOptimizations(int bitFieldOptimizations)
bitFieldOptimizations - optimizations encoded in bit field from getOptimizations()public final boolean isRemoveAnimation()
public final void setRemoveAnimation(boolean removeAnimation)
public final boolean isTransformAll()
public final void setTransformAll(boolean transformModelAndMesh)
transformModelAndMesh - public final boolean isRemoveUnusedMaterial()
public final void setRemoveUnusedMaterial(boolean removeUnusedMaterial)
removeUnusedMaterial - public final boolean isFlattenModelHierarchy()
public final void setFlattenModelHierarchy(boolean flattenModelHierarchy)
flattenModelHierarchy - public final boolean isFlattenMeshHierarchy()
public final void setFlattenMeshHierarchy(boolean flattenMeshHierarchy)
flattenMeshHierarchy - public final boolean isMergeMeshPerMaterialId()
public final void setMergeMeshPerMaterialId(boolean mergeMeshPerMaterialId)
mergeMeshPerMaterialId - public final boolean isRemoveEmptyObject()
public final void setRemoveEmptyObject(boolean removeEmptyObject)
removeEmptyObject - public final boolean isRemoveHiddenObject()
public final void setRemoveHiddenObject(boolean removeHiddenObject)
getBestOptions(boolean) or
getBestOptions(Model).public final boolean isRemoveAdvancedMaps()
public final void setRemoveAdvancedMaps(boolean removeAdvancedMaps)
getBestOptions(boolean) or
getBestOptions(Model).public final boolean isRemoveUnusedVertexAttributes()
public final void setRemoveUnusedVertexAttributes(boolean removeUnusedVertexAttributes)
removeUnusedVertexAttributes - Model has no lighting (Model#isReceiveLight())public final boolean isOptimizeVertexCache()
public final void setOptimizeVertexCache(boolean optimizeVertexCache)
optimizeVertexCache - Not yet efficient so disabled.
public final boolean isMergeDuplicatedMaterials()
public final void setMergeDuplicatedMaterials(boolean mergeDuplicatedMaterials)
mergeDuplicatedMaterials - public final boolean isRemoveMapNotLoaded()
public final void setRemoveMapNotLoaded(boolean removeMapNotLoaded)
removeMapNotLoaded - public final int getAnimationCompressionLevel()
public final void setAnimationCompressionLevel(int level)
level - Animation compression level. Accepted values: -1, 0, 1, 2BonzaiEngine.getPositionMergeDistance(int)public final boolean isRemoveUnusedSkeletonAttributes()
public final void setRemoveUnusedSkeletonAttributes(boolean removeUnusedSkeletonAttributes)
removeUnusedSkeletonAttributes - public final boolean isOptimizeVertexDataWithOneJoint()
public final void setOptimizeVertexDataWithOneJoint(boolean optimizeVertexDataWithOneJoint)
optimizeVertexDataWithOneJoint - public final boolean isTransformStaticMesh()
public final void setTransformMesh(boolean transformStaticMesh)
transformStaticMesh - public final boolean isRemoveMorphTargets()
public final void setRemoveMorphTargets(boolean removeMorphTargets)
removeMorphTargets - public final boolean isRemoveUnusedShaderVertexAttributes()
public final void setRemoveUnusedShaderVertexAttributes(boolean removeUnusedShaderVertexAttributes)
removeUnusedShaderVertexAttributes - public final boolean isUseMaterialStringReference()
public final void setUseMaterialStringReference(boolean materialStringReference)
materialStringReference - public final boolean isPrecomputeBox()
public final void setPrecomputeBox(boolean precomputeBox)
precomputeBox - public final boolean isPrecomputeSphere()
public final void setPrecomputeSphere(boolean precomputeSphere)
precomputeSphere - public final boolean isPrecomputeCylinder()
public final void setPrecomputeCylinder(boolean precomputeCylinder)
precomputeCylinder - public final boolean isPrecomputeCapsule()
public final void setPrecomputeCapsule(boolean precomputeCapsule)
precomputeCapsule - public final void optimize(Model model)
model - mode to optimizegetBestOptions(boolean),
getBestOptions(Model)Bonzai Engine 1.3.4 11/12/2015 - A Java OpenGL engine and tools for Windows/Mac/Linux/Android
Copyright © 2007-2015 Jérôme Jouvie bonzaiengine.com contact@bonzaiengine.com