• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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