Example usage for com.badlogic.gdx.graphics Camera update

List of usage examples for com.badlogic.gdx.graphics Camera update

Introduction

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

Prototype

public abstract void update();

Source Link

Document

Recalculates the projection and view matrix of this camera and the Frustum planes.

Usage

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

public void resize(int width, int height) {
    viewport.update(width, height, false);
    guiViewport.update(width, height, true);
    Camera guiCam = guiViewport.getCamera();
    guiCam.update();
    batch.setProjectionMatrix(guiCam.combined);
}

From source file:com.badlogic.gdx.tests.g3d.shadows.system.BaseShadowSystem.java

License:Apache License

/** Set viewport according to allocator.
 * @param lp LightProperties to process.
 * @param cameraViewport Set camera viewport if true. */
protected void processViewport(LightProperties lp, boolean cameraViewport) {
    Camera camera = lp.camera;
    ShadowMapRegion r = allocator.nextResult(currentLight);

    if (r == null)
        return;/* w  w  w .  j  a  v a2 s .c  o  m*/

    TextureRegion region = lp.region;
    region.setTexture(frameBuffers[currentPass].getColorBufferTexture());

    // We don't use HdpiUtils
    // gl commands related to shadow map size and not to screen size
    Gdx.gl.glViewport(r.x, r.y, r.width, r.height);
    Gdx.gl.glScissor(r.x + 1, r.y + 1, r.width - 2, r.height - 2);
    region.setRegion(r.x, r.y, r.width, r.height);

    if (cameraViewport) {
        camera.viewportHeight = r.height;
        camera.viewportWidth = r.width;
        camera.update();
    }
}

From source file:com.badlogic.gdx.tests.g3d.shadows.utils.AABBNearFarAnalyzer.java

License:Apache License

/** Initialize camera before computation.
 * @param camera Camera to compute. */
protected void prepareCamera(Camera camera) {
    camera.near = AABBNearFarAnalyzer.CAMERA_NEAR;
    camera.far = AABBNearFarAnalyzer.CAMERA_FAR;
    camera.update();
}

From source file:com.badlogic.gdx.tests.g3d.shadows.utils.AABBNearFarAnalyzer.java

License:Apache License

/** Compute final result.
 * @param bb BoundingBox encompassing instances
 * @param camera Camera to compute */
protected void computeResult(BoundingBox bb, Camera camera) {
    // Radius//  w  w  w .  j a  va  2  s  .c om
    float radius = bb1.getDimensions(tmpV).len() * 0.5f;

    // Center
    bb1.getCenter(tmpV);

    // Computation
    float distance = tmpV.dst(camera.position);
    float near = distance - radius;
    float far = distance + radius;

    if (near <= 0)
        near = CAMERA_NEAR;
    if (far <= 0)
        far = CAMERA_FAR;

    camera.near = near;
    camera.far = far;
    camera.update();
}

From source file:com.binarytenshi.nopassing.state.MainGameScreen.java

@Override
public void render(float delta) {
    Camera camera = CameraHandler.getCamera();
    SpriteBatch batch = NoPassing.getSpriteBatch();
    Rectangle viewport = CameraHandler.getViewport();

    camera.update();
    camera.apply(Gdx.gl10);/*from  www  .j a  v  a  2 s. co m*/

    Gdx.gl.glClearColor(0, 0, 0, 0);
    Gdx.gl.glViewport((int) viewport.x, (int) viewport.y, (int) viewport.width, (int) viewport.height);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

    batch.setProjectionMatrix(camera.combined);

    batch.begin();
    MapHandler.draw(batch);
    batch.end();

    SplineHandler.drawSplines();
}

From source file:com.binarytenshi.nopassing.state.MenuGameScreen.java

@Override
public void render(float delta) {
    Camera camera = CameraHandler.getCamera();
    Rectangle viewport = CameraHandler.getViewport();

    camera.update();
    camera.apply(Gdx.gl10);// w w  w .j  ava2 s. c  o  m

    Gdx.gl.glClearColor(0, 0, 0, 0);
    Gdx.gl.glViewport((int) viewport.x, (int) viewport.y, (int) viewport.width, (int) viewport.height);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

    float w = camera.viewportWidth;
    float h = camera.viewportHeight;

    stage.setViewport(w, h);
    background.setBounds(0, 0, w, h);

    stage.draw();
}

From source file:com.game.HelloWorld.java

License:Apache License

@Override
public void render() {

    GL10 gl = Gdx.graphics.getGL10();//  w ww . j a  v  a2s .c  om

    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

    this.mCamera.apply(gl);
    this.mTileMapRenderer.render((OrthographicCamera) mRenderTree.getStage().getCamera());

    if (Gdx.input.isTouched() && !isCollision(Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2)) {

        Vector3 position = new Vector3(mInputX, mInputY, 0);
        Camera camera = mRenderTree.getStage().getCamera();
        float deplacementX = (float) (directionPerso.x * mcharSpeed);
        float deplacementY = (float) (directionPerso.y * mcharSpeed);

        mRenderTree.getStage().findActor("mainChar").x += deplacementX;
        camera.translate(deplacementX, 0f, 0f);

        mRenderTree.getStage().findActor("mainChar").y += deplacementY;
        camera.translate(0f, deplacementY, 0f);

        if (deplacementX > 0.0f || deplacementY > 0.0f) {
            halfSec += Gdx.graphics.getDeltaTime();
            if (halfSec > 0.3f) {
                if (directionPerso.x >= 0.5) {
                    mSpriteN = 6 + (++mMainCharSpriteState) % 3;
                } else if (directionPerso.x <= -0.5) {
                    mSpriteN = 3 + (++mMainCharSpriteState) % 3;
                } else if (directionPerso.y >= 0.5) {
                    mSpriteN = 9 + (++mMainCharSpriteState) % 3;
                } else {
                    mSpriteN = (++mMainCharSpriteState) % 3;
                }
                halfSec = 0.0f;
            }
        }

        camera.update();
        camera.apply(gl);
    }

    //stage.draw();
    mRenderTree.draw();

    mMainCharBatch.begin();
    mMainCharBatch.draw(mMainCharRegions[mSpriteN], (Gdx.graphics.getWidth() / 2) - 16,
            (Gdx.graphics.getHeight() / 2) - 16, 32, 32);
    mMainCharBatch.end();

}

From source file:com.jmolina.orb.stages.ParallaxStage.java

License:Open Source License

/**
 * Mtodo de dibujo de {@link Stage#draw()} modificado para que vare la cmara de cada capa.
 *
 * @param layer Capa/*from w  w  w .  j  ava  2  s . c o m*/
 * @param speed Velocidad de movimiento de la camara para la capa
 * @param x Posicion actual X
 * @param y Posicion actual Y
 */
private void drawLayer(TiledLayer layer, float speed, float x, float y) {
    Camera camera = getViewport().getCamera();
    camera.position.x = x * pixelsPerMeter * speed;
    camera.position.y = y * pixelsPerMeter * speed;
    camera.update();

    if (!getRoot().isVisible())
        return;

    Batch batch = getBatch();

    if (batch != null) {
        batch.setProjectionMatrix(camera.combined);
        batch.begin();
        layer.draw(batch, 1);
        batch.end();
    }
}

From source file:com.lyeeedar.Roguelike3D.Game.Actor.AI_Enemy_VFFG.java

License:Open Source License

public Bag<GameActor> getVisibleActors() {
    Camera cam = new PerspectiveCamera();
    cam.position.set(actor.position);//w w  w  . j  a  v  a2 s . co  m
    cam.direction.set(actor.rotation);
    cam.near = VIEW_NEAR;
    cam.far = VIEW_FAR;
    cam.update();

    Bag<GameActor> actors = new Bag<GameActor>();

    //      for (GameActor ga : GameData.level.getActors())
    //      {
    //         if (actor.getPosition().dst2(ga.getPosition()) < VIEW_FAR)
    //         {
    //            Ray ray = new Ray(actor.getPosition(), ga.getPosition().tmp().sub(actor.getPosition()).nor());
    //            if (!GameData.level.checkLevelCollisionRay(ray, ga.getPosition().dst2(actor.getPosition()))) actors.add(ga);
    //         }
    //      }

    return actors;
}

From source file:com.microbasic.sm.tools.FrameBufferCubeMap.java

License:Apache License

/**
 * Binds the frame buffer and sets the viewport accordingly, so everything gets drawn to it.
 * /*from   w  w w. jav  a 2 s.co  m*/
 * @param side
 *            the side of the cube we are currently drawing on
 * @param camera
 *            adjust camera properties for this side
 */
public void begin(final Cubemap.CubemapSide side, final Camera camera) {
    begin(side.glEnum);
    if (camera != null) {
        switch (side) {
        case NegativeX:
            camera.up.set(0, -1, 0);
            camera.direction.set(-1, 0, 0);
            break;
        case NegativeY:
            camera.up.set(0, 0, -1);
            camera.direction.set(0, -1, 0);
            break;
        case NegativeZ:
            camera.up.set(0, -1, 0);
            camera.direction.set(0, 0, -1);
            break;
        case PositiveX:
            camera.up.set(0, -1, 0);
            camera.direction.set(1, 0, 0);
            break;
        case PositiveY:
            camera.up.set(0, 0, 1);
            camera.direction.set(0, 1, 0);
            break;
        case PositiveZ:
            camera.up.set(0, -1, 0);
            camera.direction.set(0, 0, 1);
            break;
        default:
            break;
        }
        camera.update();
    }
}