package com.badlogic.gdx.tests.g3d; import com.badlogic.gdx.graphics.g3d.ModelBatch; import com.badlogic.gdx.graphics.g3d.ModelCache; import com.badlogic.gdx.graphics.g3d.ModelInstance; import com.badlogic.gdx.scenes.scene2d.ui.CheckBox; import com.badlogic.gdx.utils.Array; /** Simple test showing the use of {@link ModelCache}. * @author Xoppa */ public class ModelCacheTest extends Benchmark3DTest { ModelCache modelCache; CheckBox cacheCheckBox; @Override public void create () { super.create(); modelCache = new ModelCache(); cacheCheckBox = new CheckBox("Cache", skin); cacheCheckBox.setChecked(false); cacheCheckBox.setPosition(hudWidth - cacheCheckBox.getWidth(), moveCheckBox.getTop()); hud.addActor(cacheCheckBox); } @Override protected void render (ModelBatch batch, Array<ModelInstance> instances) { if (cacheCheckBox.isChecked()) { modelCache.begin(); modelCache.add(instances); modelCache.end(); batch.render(modelCache, lighting ? environment : null); } else { batch.render(instances, lighting ? environment : null); } } @Override public void dispose () { super.dispose(); modelCache.dispose(); } }