List of usage examples for com.badlogic.gdx.graphics.g3d ModelBatch ModelBatch
public ModelBatch(final RenderContext context, final ShaderProvider shaderProvider, final RenderableSorter sorter)
From source file:com.github.fauu.helix.system.RenderingSystem.java
License:Open Source License
@Override protected void initialize() { displayableCollections = new Array<Array<? extends Displayable>>(); modelDisplayables = new Array<ModelDisplayable>(); displayableCollections.add(modelDisplayables); decalDisplayables = new Array<DecalDisplayable>(); displayableCollections.add(decalDisplayables); renderContext = new RenderContext(new DefaultTextureBinder(DefaultTextureBinder.WEIGHTED)); renderContext.setCullFace(GL20.GL_BACK); modelBatch = new ModelBatch(renderContext, new DefaultShaderProvider(), new HelixRenderableSorter()); decalBatch = new DecalBatch(new CameraGroupStrategy(camera)); spriteBatch = new SpriteBatch(); }
From source file:org.ah.gcode.preview.player.Renderer.java
License:Open Source License
public Renderer() { bottomShaderProvider = new DefaultShaderProvider() { DefaultShader currentLayerShader = null; @Override/*from ww w . ja v a 2s .c o m*/ protected Shader createShader(final Renderable renderable) { if (currentLayerHasMesh(renderable.mesh)) { // Current layer shader if (currentLayerShader == null) { DefaultShader.Config config = new DefaultShader.Config( Gdx.files.internal("shaders/lighting.current.vertex.glsl").readString(), Gdx.files.internal("shaders/lighting.fragment.glsl").readString()); currentLayerShader = new DefaultShader(renderable, config); currentLayerShader.register(new BaseShader.Uniform("u_number"), new BaseShader.GlobalSetter() { @Override public void set(BaseShader shader, int inputID, Renderable renderable, Attributes combinedAttributes) { shader.set(inputID, getCurrentInstructionNo()); } }); } return currentLayerShader; } else { // Solid - below current layer shader DefaultShader.Config config = new DefaultShader.Config( Gdx.files.internal("shaders/lighting.solid.vertex.glsl").readString(), Gdx.files.internal("shaders/lighting.fragment.glsl").readString()); DefaultShader defaultShader = new DefaultShader(renderable, config) { @Override public boolean canRender(final Renderable renderable) { if (currentLayerHasMesh(renderable.mesh)) { return false; } return true; } }; return defaultShader; } } }; solidModelBatch = new ModelBatch(null, bottomShaderProvider, null); topShaderProvider = new DefaultShaderProvider(Gdx.files.internal("shaders/lighting.top.vertex.glsl"), Gdx.files.internal("shaders/lighting.fragment.glsl")); topModelBatch = new ModelBatch(null, topShaderProvider, null); }