Java 类com.badlogic.gdx.graphics.g3d.environment.DirectionalShadowLight 实例源码

项目:eamaster    文件:BaseBulletTest.java   
@Override
public void dispose () {
    world.dispose();
    world = null;

    for (Disposable disposable : disposables)
        disposable.dispose();
    disposables.clear();

    modelBatch.dispose();
    modelBatch = null;

    shadowBatch.dispose();
    shadowBatch = null;

    if (shadows)
        ((DirectionalShadowLight)light).dispose();
    light = null;

    super.dispose();
}
项目:GdxDemo3D    文件:GameRenderer.java   
public void setEnvironmentLights(Array<BaseLight<?>> lights, Vector3 sunDirection) {
    environment = new Environment();
    environment.add((shadowLight = new DirectionalShadowLight(
            GameSettings.SHADOW_MAP_WIDTH,
            GameSettings.SHADOW_MAP_HEIGHT,
            GameSettings.SHADOW_VIEWPORT_WIDTH,
            GameSettings.SHADOW_VIEWPORT_HEIGHT,
            GameSettings.SHADOW_NEAR,
            GameSettings.SHADOW_FAR))
            .set(GameSettings.SHADOW_INTENSITY,
                    GameSettings.SHADOW_INTENSITY,
                    GameSettings.SHADOW_INTENSITY,
                    sunDirection.nor()));
    environment.shadowMap = shadowLight;

    float ambientLight = GameSettings.SCENE_AMBIENT_LIGHT;
    environment.set(new ColorAttribute(ColorAttribute.AmbientLight, ambientLight, ambientLight, ambientLight, 1));
    for (BaseLight<?> light : lights) {
        environment.add(light);
    }
}
项目:libgdxcn    文件:BaseBulletTest.java   
@Override
public void dispose () {
    world.dispose();
    world = null;

    for (Disposable disposable : disposables)
        disposable.dispose();
    disposables.clear();

    modelBatch.dispose();
    modelBatch = null;

    shadowBatch.dispose();
    shadowBatch = null;

    if (shadows)
        ((DirectionalShadowLight)light).dispose();
    light = null;

    super.dispose();
}
项目:gdx-ai    文件:BulletSteeringTest.java   
@Override
public void dispose () {
    world.dispose();
    world = null;

    for (Disposable disposable : disposables)
        disposable.dispose();
    disposables.clear();

    modelBatch.dispose();
    modelBatch = null;

    shadowBatch.dispose();
    shadowBatch = null;

    if (shadows) ((DirectionalShadowLight)light).dispose();
    light = null;
}
项目:eamaster    文件:BaseBulletTest.java   
protected void renderWorld () {
    if (shadows) {
        ((DirectionalShadowLight)light).begin(Vector3.Zero, camera.direction);
        shadowBatch.begin(((DirectionalShadowLight)light).getCamera());
        world.render(shadowBatch, null);
        shadowBatch.end();
        ((DirectionalShadowLight)light).end();
    }

    modelBatch.begin(camera);
    world.render(modelBatch, environment);
    modelBatch.end();
}
项目:ChessGDX    文件:PerspectiveRenderer.java   
/**
 * Configures the lighting and attributes for the environments   *
 */
private void configureEnvironments() {
    mEnvironment.set(new CubemapAttribute(CubemapAttribute.EnvironmentMap, AssetHandler.getInstance().getCubeMap()),
            new ColorAttribute(ColorAttribute.AmbientLight, 0.5f, 0.5f, 0.5f, 0.5f));

    mEnvironment.add((mShadowLight = new DirectionalShadowLight(4096, 4096, 60f, 60f, .1f, 50f)).set(0.5f, 0.5f, 0.5f,
            mLightDirection.x, mLightDirection.y, mLightDirection.z));
    mEnvironment.shadowMap = mShadowLight;

    mBackgroundEnvironment.set(new ColorAttribute(ColorAttribute.AmbientLight, 1.0f, 1.0f, 1.0f, 1f));
}
项目:libgdxcn    文件:ShadowMappingTest.java   
@Override
public void create () {
    modelBatch = new ModelBatch();
    environment = new Environment();
    environment.set(new ColorAttribute(ColorAttribute.AmbientLight, .4f, .4f, .4f, 1f));
    environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -1f, -0.8f, -0.2f));
    environment.add((shadowLight = new DirectionalShadowLight(1024, 1024, 30f, 30f, 1f, 100f)).set(0.8f, 0.8f, 0.8f, -1f, -.8f,
        -.2f));
    environment.shadowMap = shadowLight;

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

    ModelBuilder modelBuilder = new ModelBuilder();
    modelBuilder.begin();
    MeshPartBuilder mpb = modelBuilder.part("parts", GL20.GL_TRIANGLES, Usage.Position | Usage.Normal | Usage.Color,
        new Material(ColorAttribute.createDiffuse(Color.WHITE)));
    mpb.setColor(1f, 1f, 1f, 1f);
    mpb.box(0, -1.5f, 0, 10, 1, 10);
    mpb.setColor(1f, 0f, 1f, 1f);
    mpb.sphere(2f, 2f, 2f, 10, 10);
    model = modelBuilder.end();
    instance = new ModelInstance(model);

    shadowBatch = new ModelBatch(new DepthShaderProvider());

    Gdx.input.setInputProcessor(camController = new CameraInputController(cam));
}
项目:libgdxcn    文件:BaseBulletTest.java   
protected void renderWorld () {
    if (shadows) {
        ((DirectionalShadowLight)light).begin(Vector3.Zero, camera.direction);
        shadowBatch.begin(((DirectionalShadowLight)light).getCamera());
        world.render(shadowBatch, null);
        shadowBatch.end();
        ((DirectionalShadowLight)light).end();
    }

    modelBatch.begin(camera);
    world.render(modelBatch, environment);
    modelBatch.end();
}
项目:gdx-ai    文件:BulletSteeringTest.java   
protected void renderWorld () {
    if (shadows) {
        ((DirectionalShadowLight)light).begin(Vector3.Zero, camera.direction);
        shadowBatch.begin(((DirectionalShadowLight)light).getCamera());
        world.render(shadowBatch, null);
        shadowBatch.end();
        ((DirectionalShadowLight)light).end();
    }

    modelBatch.begin(camera);
    world.render(modelBatch, environment);
    modelBatch.end();
}
项目:amatsukaze    文件:ShadowMappingTest.java   
@Override
public void create () {
    modelBatch = new ModelBatch();
    environment = new Environment();
    environment.set(new ColorAttribute(ColorAttribute.AmbientLight, .4f, .4f, .4f, 1f));
    environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -1f, -0.8f, -0.2f));
    environment.add((shadowLight = new DirectionalShadowLight(1024, 1024, 30f, 30f, 1f, 100f)).set(0.8f, 0.8f, 0.8f, -1f, -.8f,
        -.2f));
    environment.shadowMap = shadowLight;

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

    ModelBuilder modelBuilder = new ModelBuilder();
    modelBuilder.begin();
    MeshPartBuilder mpb = modelBuilder.part("parts", GL20.GL_TRIANGLES, Usage.Position | Usage.Normal | Usage.Color,
        new Material(ColorAttribute.createDiffuse(Color.WHITE)));
    mpb.setColor(1f, 1f, 1f, 1f);
    mpb.box(0, -1.5f, 0, 10, 1, 10);
    mpb.setColor(1f, 0f, 1f, 1f);
    mpb.sphere(2f, 2f, 2f, 10, 10);
    model = modelBuilder.end();
    instance = new ModelInstance(model);

    shadowBatch = new ModelBatch(new DepthShaderProvider());

    Gdx.input.setInputProcessor(camController = new CameraInputController(cam));
}
项目:libgdxcn    文件:Animation3DTest.java   
@Override
public void create () {
    super.create();
    lights = new Environment();
    lights.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.4f, 0.4f, 0.4f, 1.f));
    lights.add((shadowLight = new DirectionalShadowLight(1024, 1024, 30f, 30f, 1f, 100f))
        .set(0.8f, 0.8f, 0.8f, -.4f, -.4f, -.4f));
    lights.shadowMap = shadowLight;
    inputController.rotateLeftKey = inputController.rotateRightKey = inputController.forwardKey = inputController.backwardKey = 0;
    cam.position.set(25, 25, 25);
    cam.lookAt(0, 0, 0);
    cam.update();
    modelsWindow.setVisible(false);
    assets.load("data/g3d/skydome.g3db", Model.class);
    assets.load("data/g3d/concrete.png", Texture.class);
    assets.load("data/tree.png", Texture.class);
    loading = true;
    trForward.translation.set(0, 0, 8f);
    trBackward.translation.set(0, 0, -8f);
    trLeft.rotation.setFromAxis(Vector3.Y, 90);
    trRight.rotation.setFromAxis(Vector3.Y, -90);

    ModelBuilder builder = new ModelBuilder();
    builder.begin();
    builder.node().id = "floor";
    MeshPartBuilder part = builder.part("floor", GL20.GL_TRIANGLES, Usage.Position | Usage.TextureCoordinates | Usage.Normal,
        new Material("concrete"));
    ((MeshBuilder)part).ensureRectangles(1600);
    for (float x = -200f; x < 200f; x += 10f) {
        for (float z = -200f; z < 200f; z += 10f) {
            part.rect(x, 0, z + 10f, x + 10f, 0, z + 10f, x + 10f, 0, z, x, 0, z, 0, 1, 0);
        }
    }
    builder.node().id = "tree";
    part = builder.part("tree", GL20.GL_TRIANGLES, Usage.Position | Usage.TextureCoordinates | Usage.Normal,
        new Material("tree"));
    part.rect( 0f, 0f, -10f, 10f, 0f, -10f, 10f, 10f, -10f,  0f, 10f, -10f, 0, 0, 1f);
    part.setUVRange(1, 0, 0, 1);
    part.rect(10f, 0f, -10f,  0f, 0f, -10f,  0f, 10f, -10f, 10f, 10f, -10f, 0, 0, -1f);
    floorModel = builder.end();

    shadowBatch = new ModelBatch(new DepthShaderProvider());
}
项目:amatsukaze    文件:Animation3DTest.java   
@Override
public void create () {
    super.create();
    lights = new Environment();
    lights.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.4f, 0.4f, 0.4f, 1.f));
    lights.add((shadowLight = new DirectionalShadowLight(1024, 1024, 30f, 30f, 1f, 100f))
        .set(0.8f, 0.8f, 0.8f, -.4f, -.4f, -.4f));
    lights.shadowMap = shadowLight;
    inputController.rotateLeftKey = inputController.rotateRightKey = inputController.forwardKey = inputController.backwardKey = 0;
    cam.position.set(25, 25, 25);
    cam.lookAt(0, 0, 0);
    cam.update();
    modelsWindow.setVisible(false);
    assets.load("data/g3d/skydome.g3db", Model.class);
    assets.load("data/g3d/concrete.png", Texture.class);
    assets.load("data/tree.png", Texture.class);
    loading = true;
    trForward.translation.set(0, 0, 8f);
    trBackward.translation.set(0, 0, -8f);
    trLeft.rotation.setFromAxis(Vector3.Y, 90);
    trRight.rotation.setFromAxis(Vector3.Y, -90);

    ModelBuilder builder = new ModelBuilder();
    builder.begin();
    builder.node().id = "floor";
    MeshPartBuilder part = builder.part("floor", GL20.GL_TRIANGLES, Usage.Position | Usage.TextureCoordinates | Usage.Normal,
        new Material("concrete"));
    ((MeshBuilder)part).ensureRectangles(1600);
    for (float x = -200f; x < 200f; x += 10f) {
        for (float z = -200f; z < 200f; z += 10f) {
            part.rect(x, 0, z + 10f, x + 10f, 0, z + 10f, x + 10f, 0, z, x, 0, z, 0, 1, 0);
        }
    }
    builder.node().id = "tree";
    part = builder.part("tree", GL20.GL_TRIANGLES, Usage.Position | Usage.TextureCoordinates | Usage.Normal,
        new Material("tree"));
    part.rect( 0f, 0f, -10f, 10f, 0f, -10f, 10f, 10f, -10f,  0f, 10f, -10f, 0, 0, 1f);
    part.setUVRange(1, 0, 0, 1);
    part.rect(10f, 0f, -10f,  0f, 0f, -10f,  0f, 10f, -10f, 10f, 10f, -10f, 0, 0, -1f);
    floorModel = builder.end();

    shadowBatch = new ModelBatch(new DepthShaderProvider());
}