Example usage for com.badlogic.gdx.graphics.g3d.utils DefaultShaderProvider DefaultShaderProvider

List of usage examples for com.badlogic.gdx.graphics.g3d.utils DefaultShaderProvider DefaultShaderProvider

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics.g3d.utils DefaultShaderProvider DefaultShaderProvider.

Prototype

public DefaultShaderProvider() 

Source Link

Usage

From source file:com.badlogic.gdx.tests.dragome.examples.GearsDemo.java

@Override
public void create() {

    environment = new Environment();
    environment.set(new ColorAttribute(ColorAttribute.AmbientLight, .2f, .2f, .2f, 2f));
    //      environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, 0f, -0.5f, -0.5f));

    sl = new PointLight().setPosition(-5, 10, -6).setColor(1, 1, 1, 1).setIntensity(150);

    //      sl2 = new PointLight().setPosition(0, 7, 5).setColor(0.3f, 0.8f, 0.3f, 1)
    //         .setIntensity(20);
    ////from w w  w .  j  ava 2s.c  o m
    //      sl3 = new PointLight().setPosition(0, 9, 6).setColor(0.3f, 0.3f, 0.8f, 1)
    //         .setIntensity(20);

    environment.add(sl);
    //      environment.add(sl2);
    //      environment.add(sl3);

    cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    cam.position.set(-10, 3, 10f);
    cam.lookAt(-3, 0, 0);
    cam.near = 1f;
    cam.far = 100f;
    cam.update();

    cameraController = new CameraInputController(cam);
    cameraController.autoUpdate = false;
    cameraController.forwardTarget = false;
    cameraController.translateTarget = false;

    Gdx.input.setInputProcessor(new InputMultiplexer(cameraController));

    time = TimeUtils.millis();

    viewport = new ScreenViewport(cam);
    guiViewport = new ScreenViewport();

    DefaultShaderProvider defaultShaderProvider = new DefaultShaderProvider();
    modelBatch = new ModelBatch(defaultShaderProvider);

    ModelBuilder modelBuilder = new ModelBuilder();
    model1 = gear(modelBuilder, 1.0f, 4.0f, 1.0f, 20, 0.7f, Color.RED);
    gear1 = new ModelInstance(model1);

    model2 = gear(modelBuilder, 0.5f, 2.0f, 2.0f, 10, 0.7f, Color.GREEN);
    gear2 = new ModelInstance(model2);

    model3 = gear(modelBuilder, 1.3f, 2.0f, 1.5f, 10, 0.7f, Color.BLUE);
    gear3 = new ModelInstance(model3);

    font = new BitmapFont();

    batch = new SpriteBatch();

    lightModel = modelBuilder.createSphere(1, 1, 1, 10, 10,
            new Material(ColorAttribute.createDiffuse(1, 1, 1, 1)), Usage.Position);
    lightModel.nodes.get(0).parts.get(0).setRenderable(pLight = new Renderable());
}

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.  java 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);
}