Example usage for com.badlogic.gdx.graphics PerspectiveCamera PerspectiveCamera

List of usage examples for com.badlogic.gdx.graphics PerspectiveCamera PerspectiveCamera

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics PerspectiveCamera PerspectiveCamera.

Prototype

public PerspectiveCamera(float fieldOfViewY, float viewportWidth, float viewportHeight) 

Source Link

Document

Constructs a new PerspectiveCamera with the given field of view and viewport size.

Usage

From source file:com.andgate.ikou.view.GameScreen.java

License:Open Source License

public GameScreen(Ikou game, Level level, int currentFloorNumber) {
    this.game = game;
    this.level = level;
    batch = new SpriteBatch();

    TilePalette palette = level.getFloor(currentFloorNumber).getPalette();
    Color bg = palette.background;

    game.bloom.setClearColor(bg.r, bg.g, bg.b, bg.a);

    Gdx.graphics.setVSync(false);//from  w  ww .  j  a  v a2  s .c om

    camera = new PerspectiveCamera(Constants.DEFAULT_FIELD_OF_VIEW, Gdx.graphics.getWidth(),
            Gdx.graphics.getHeight());

    modelBatch = new ModelBatch();
    levelRender = new LevelRender(level);
    levelRender.setCamera(camera);
    levelRender.resetTransform();
    levelRender.offsetFloors();
    levelRender.spaceFloors(Constants.FLOOR_SPACING);

    player = new Player(game, level, currentFloorNumber);
    createEnvironment();

    setupCamera();
    InputProcessor moveController = new PlayerDirectionGestureDetector(player, camController);

    im = new InputMultiplexer();
    im.addProcessor(moveController);
    Gdx.input.setInputProcessor(im);
    controlsMenu = new GameControlsMenu(game, im, moveController, camController);
}

From source file:com.badlogic.gdx.graphics.g3d.test.KeyframedModelViewer.java

License:Apache License

@Override
public void create() {
    model = ModelLoaderRegistry.loadKeyframedModel(Gdx.files.internal(fileName));
    if (textureFileName != null)
        texture = new Texture(Gdx.files.internal(textureFileName), Format.RGB565, true);
    model.setMaterial(new Material("default", new TextureAttribute(texture, 0, "skin")));
    hasNormals = hasNormals();//from www .j ava2s.c o  m
    anim = (KeyframedAnimation) model.getAnimations()[0];

    model.getBoundingBox(bounds);
    float len = bounds.getDimensions().len();
    System.out.println("bounds: " + bounds);

    cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    cam.position.set(bounds.getCenter().cpy().add(len, len, len));
    cam.lookAt(bounds.getCenter().x, bounds.getCenter().y, bounds.getCenter().z);
    cam.near = 1f;
    cam.far = 1000;

    renderer = new ImmediateModeRenderer10();
    batch = new SpriteBatch();
    font = new BitmapFont();
}

From source file:com.badlogic.gdx.graphics.g3d.test.MD2Viewer.java

@Override
public void create() {
    model = new MD2Loader().load(Gdx.files.internal("data/knight.md2").read());
    texture = new Texture(Gdx.files.internal("data/knight.jpg"));
    cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    cam.far = 300;//www. j a va  2  s . c  o  m
    cam.position.set(0, 12, 50);
}

From source file:com.badlogic.gdx.graphics.g3d.test.QbobViewer.java

License:Apache License

@Override
public void create() {
    animModel = G3dtLoader.loadKeyframedModel(Gdx.files.internal("data/boy.g3dt"), true);
    anim = animModel.getAnimations()[0];
    Material material = new Material("default",
            new TextureAttribute(new Texture(Gdx.files.internal("data/boy.png")), 0, "tex0"));
    animModel.setMaterial(material);//ww w  .j  a v a  2s.c o  m

    model[0] = G3dLoader.loadStillModel(Gdx.files.internal("data/qbob/test_section_01.dae.g3d"));
    lightMaps[0] = new Texture(Gdx.files.internal("data/qbob/world_blobbie_lm_01.jpg"), Format.RGB565, true);
    model[1] = G3dLoader.loadStillModel(Gdx.files.internal("data/qbob/test_section_02.dae.g3d"));
    lightMaps[1] = new Texture(Gdx.files.internal("data/qbob/world_blobbie_lm_02.jpg"), Format.RGB565, true);
    model[2] = G3dLoader.loadStillModel(Gdx.files.internal("data/qbob/test_section_03.dae.g3d"));
    lightMaps[2] = new Texture(Gdx.files.internal("data/qbob/world_blobbie_lm_03.jpg"), Format.RGB565, true);
    model[3] = G3dLoader.loadStillModel(Gdx.files.internal("data/qbob/test_section_04.dae.g3d"));
    lightMaps[3] = new Texture(Gdx.files.internal("data/qbob/world_blobbie_lm_04.jpg"), Format.RGB565, true);

    diffuse = new Texture(Gdx.files.internal("data/qbob/world_blobbie_blocks.png"), Format.RGB565, true);

    cam = new PerspectiveCamera(60, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    cam.position.set(30, 10, 85f);
    cam.direction.set(0, 0, -1);
    cam.up.set(0, 1, 0);
    cam.near = 10f;
    cam.far = 1000;

    controller = new PerspectiveCamController(cam);
    Gdx.input.setInputProcessor(controller);

    batch = new SpriteBatch();
    font = new BitmapFont();
}

From source file:com.badlogic.gdx.graphics.g3d.test.SkeletonModelViewer.java

License:Apache License

@Override
public void create() {
    if (fileName.endsWith(".xml")) {
        model = new OgreXmlLoader().load(Gdx.files.internal(fileName),
                Gdx.files.internal(fileName.replace("mesh.xml", "skeleton.xml")));
    } else// ww w  .ja v  a  2 s.  com
        throw new GdxRuntimeException("Unknown file format '" + fileName + "'");
    if (textureFileName != null)
        texture = new Texture(Gdx.files.internal(textureFileName));
    hasNormals = hasNormals();
    Material material = new Material("material", new TextureAttribute(texture, 0, "s_tex"));
    model.setMaterial(material);
    anim = (SkeletonAnimation) model.getAnimations()[0];

    model.getBoundingBox(bounds);
    float len = bounds.getDimensions().len();
    System.out.println("bounds: " + bounds);

    cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    cam.position.set(bounds.getCenter().cpy().add(len, len, len));
    cam.lookAt(bounds.getCenter().x, bounds.getCenter().y, bounds.getCenter().z);
    cam.near = 1f;
    cam.far = 1000;

    renderer = new ImmediateModeRenderer10();
    batch = new SpriteBatch();
    font = new BitmapFont();
}

From source file:com.badlogic.gdx.graphics.g3d.test.StillModelViewer.java

License:Apache License

@Override
public void create() {
    long start = System.nanoTime();
    model = ModelLoaderRegistry.loadStillModel(Gdx.files.internal(fileName));
    Gdx.app.log("StillModelViewer", "loading took: " + (System.nanoTime() - start) / 1000000000.0f);

    for (StillSubMesh mesh : model.subMeshes) {
        mesh.mesh.scale(0.1f, 0.1f, 0.1f);
    }//from  w  ww . jav  a2  s  .  c o  m

    if (!fileName.endsWith(".g3d")) {
        G3dExporter.export(model, Gdx.files.absolute(fileName + ".g3d"));
        start = System.nanoTime();
        model = G3dLoader.loadStillModel(Gdx.files.absolute(fileName + ".g3d"));
        Gdx.app.log("StillModelViewer", "loading binary took: " + (System.nanoTime() - start) / 1000000000.0f);
    }

    if (textureFileNames.length != 0) {
        textures = new Texture[textureFileNames.length];
        for (int i = 0; i < textureFileNames.length; i++) {
            textures[i] = new Texture(Gdx.files.internal(textureFileNames[i]), i > 0 ? false : true);
        }
    }
    hasNormals = hasNormals();

    model.getBoundingBox(bounds);
    float len = bounds.getDimensions().len();
    System.out.println("bounds: " + bounds);

    cam = new PerspectiveCamera(60, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    cam.position.set(bounds.getCenter().cpy().add(len / 2, len / 2, len / 2));
    cam.lookAt(bounds.getCenter().x, bounds.getCenter().y, bounds.getCenter().z);
    cam.near = 0.1f;
    cam.far = 1000;

    renderer = new ImmediateModeRenderer10();
    batch = new SpriteBatch();
    font = new BitmapFont();
}

From source file:com.badlogic.gdx.graphics.g3d.test.StillModelViewerGL20.java

License:Apache License

@Override
public void create() {
    long start = System.nanoTime();
    model = ModelLoaderRegistry.loadStillModel(Gdx.files.internal(fileName));
    Gdx.app.log("StillModelViewer", "loading took: " + (System.nanoTime() - start) / 1000000000.0f);

    if (textureFileNames.length != 0) {
        textures = new Texture[textureFileNames.length];
        for (int i = 0; i < textureFileNames.length; i++) {
            textures[i] = new Texture(Gdx.files.internal(textureFileNames[i]), i > 0 ? false : true);
        }//from  w  ww. j a v  a 2  s .  co  m
    }

    model.getBoundingBox(bounds);
    float len = bounds.getDimensions().len();
    System.out.println("bounds: " + bounds);

    cam = new PerspectiveCamera(60, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    cam.position.set(bounds.getCenter().cpy().add(len / 2, len / 2, len / 2));
    cam.lookAt(bounds.getCenter().x, bounds.getCenter().y, bounds.getCenter().z);
    cam.near = 0.1f;
    cam.far = 64;

    batch = new SpriteBatch();
    font = new BitmapFont();

    // shader1 = ShaderLoader.createShader("light", "light");
    // shader2 = ShaderLoader.createShader("vertexpath", "vertexpath");

    lightManager = new LightManager(4, LightQuality.VERTEX);
    lightManager.dirLight = new DirectionalLight();
    lightManager.dirLight.color.set(0.09f, 0.07f, 0.09f, 0);
    lightManager.dirLight.direction.set(-.4f, -1, 0.03f).nor();

    for (int i = 0; i < 4; i++) {
        PointLight l = new PointLight();
        l.position.set(-MathUtils.random(8) + 4, MathUtils.random(3), -MathUtils.random(6) + 3);

        l.color.r = MathUtils.random();
        l.color.b = MathUtils.random();
        l.color.g = MathUtils.random();
        l.intensity = 3;
        lightManager.addLigth(l);
    }
    lightManager.ambientLight.set(.03f, 0.05f, 0.06f, 0);

    protoRenderer = new PrototypeRendererGL20(lightManager);
    protoRenderer.cam = cam;

    MaterialAttribute c1 = new ColorAttribute(new Color(0.5f, 0.51f, 0.51f, 1.0f), ColorAttribute.specular);
    MaterialAttribute c2 = new ColorAttribute(new Color(0.95f, 0.95f, 0.95f, 1.0f), ColorAttribute.diffuse);
    MaterialAttribute t0 = new TextureAttribute(textures[0], 0, TextureAttribute.diffuseTexture);
    Material material = new Material("basic", c1, c2, t0);

    model.setMaterial(material);
    instance = new StillModelNode();
    instance.getTransform().translate(-len / 2, -1, 2);
    instance.radius = bounds.getDimensions().len() / 2;

    instance2 = new StillModelNode();
    instance2.getTransform().translate(len / 2, -1, -7);

    instance2.radius = instance.radius;

}

From source file:com.badlogic.gdx.graphics.g3d.test.Viewer.java

License:Apache License

@Override
public void create() {

    Texture texture = new Texture(Gdx.files.internal("data/models/ninja.jpg"));
    Material mat = new Material("mat", new TextureAttribute(texture, 0, "s_tex"),
            new ColorAttribute(Color.CYAN, ColorAttribute.diffuse));
    model = new OgreXmlLoader().load(Gdx.files.internal("data/models/ninja.mesh.xml"),
            Gdx.files.internal("data/models/ninja.skeleton.xml"));
    model.setMaterial(mat);//from w  w w. j  a va  2  s. c  om

    cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    BoundingBox bounds = model.subMeshes[0].mesh.calculateBoundingBox();
    cam.position.set(bounds.getCenter().cpy().add(100, 100, 100));
    cam.lookAt(bounds.getCenter().x, bounds.getCenter().y, bounds.getCenter().z);
    cam.near = 0.1f;
    cam.far = 1000;

    renderer = new ImmediateModeRenderer10();
    batch = new SpriteBatch();
    font = new BitmapFont();

    for (String name : model.skeleton.animations.keys())
        animNames.add(name);
    animation = animNames.get(0);

}

From source file:com.badlogic.gdx.tests.DecalTransform.java

License:Apache License

@Override
public void resize(int width, int height) {
    cam = new PerspectiveCamera(45, width, height);
    // cam = new OrthographicCamera(width, height);
    cam.near = 0.1f;//from  w  ww . j  a v a 2 s  .  c o m
    cam.far = 1000f;
    cam.position.set(0, 0, 100);
    cam.direction.set(0, 0, -1);
}

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);
    ////  w  ww .  j  ava 2 s  .  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());
}