1 package com.badlogic.gdx.tests.g3d; 2 3 import com.badlogic.gdx.graphics.g3d.ModelBatch; 4 import com.badlogic.gdx.graphics.g3d.ModelCache; 5 import com.badlogic.gdx.graphics.g3d.ModelInstance; 6 import com.badlogic.gdx.scenes.scene2d.ui.CheckBox; 7 import com.badlogic.gdx.utils.Array; 8 9 /** Simple test showing the use of {@link ModelCache}. 10 * @author Xoppa */ 11 public class ModelCacheTest extends Benchmark3DTest { 12 ModelCache modelCache; 13 CheckBox cacheCheckBox; 14 15 @Override create()16 public void create () { 17 super.create(); 18 modelCache = new ModelCache(); 19 20 cacheCheckBox = new CheckBox("Cache", skin); 21 cacheCheckBox.setChecked(false); 22 cacheCheckBox.setPosition(hudWidth - cacheCheckBox.getWidth(), moveCheckBox.getTop()); 23 hud.addActor(cacheCheckBox); 24 } 25 26 @Override render(ModelBatch batch, Array<ModelInstance> instances)27 protected void render (ModelBatch batch, Array<ModelInstance> instances) { 28 if (cacheCheckBox.isChecked()) { 29 modelCache.begin(); 30 modelCache.add(instances); 31 modelCache.end(); 32 batch.render(modelCache, lighting ? environment : null); 33 } 34 else { 35 batch.render(instances, lighting ? environment : null); 36 } 37 } 38 39 @Override dispose()40 public void dispose () { 41 super.dispose(); 42 modelCache.dispose(); 43 } 44 } 45