Example usage for com.badlogic.gdx.graphics.glutils ShapeRenderer begin

List of usage examples for com.badlogic.gdx.graphics.glutils ShapeRenderer begin

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics.glutils ShapeRenderer begin.

Prototype

public void begin(ShapeType type) 

Source Link

Document

Starts a new batch of shapes.

Usage

From source file:at.therefactory.jewelthief.Game.java

License:Open Source License

public void debug(ShapeRenderer sr) {
    if (debug) {//from  ww  w  .j  ava 2 s .com
        sr.begin(ShapeRenderer.ShapeType.Line);
        sr.setColor(Color.RED);
        sr.polygon(player.getPolygon().getVertices());
        for (Enemy enemy : enemies)
            sr.polygon(enemy.getPolygon().getVertices());
        for (Jewel jewel : jewels)
            sr.polygon(jewel.getPolygon().getVertices());
        if (showMenu) {
            sr.rect(buttonYes.getX(), buttonYes.getY(), buttonYes.getWidth(), buttonYes.getHeight());
            sr.rect(buttonNo.getX(), buttonNo.getY(), buttonNo.getWidth(), buttonNo.getHeight());
            sr.rect(buttonRestart.getX(), buttonRestart.getY(), buttonRestart.getWidth(),
                    buttonRestart.getHeight());
        } else if (player.getNumMen() <= 0) {
            sr.rect(WINDOW_WIDTH / 2 - 63, WINDOW_HEIGHT / 2 - 45, 58, 28);
            sr.rect(WINDOW_WIDTH / 2 + 5, WINDOW_HEIGHT / 2 - 45, 57, 28);
        } else {
            sr.setColor(Color.RED);
            sr.rect(rectangleEnemyField.x, rectangleEnemyField.y, rectangleEnemyField.width,
                    rectangleEnemyField.height);
            sr.setColor(Color.GREEN);
            sr.rect(rectangleJewelField.x, rectangleJewelField.y, rectangleJewelField.width,
                    rectangleJewelField.height);
            sr.setColor(Color.WHITE);
            sr.rect(rectanglePlayerField.x, rectanglePlayerField.y, rectanglePlayerField.width,
                    rectanglePlayerField.height);
        }
    }
    sr.end();
}

From source file:cb.pong.model.Board.java

private void renderBlocks() {
    ShapeRenderer shapeRenderer = new ShapeRenderer();
    shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
    shapeRenderer.setColor(Color.BLUE);
    for (int x = 0; x < width; x++) {
        for (int y = 0; y < height; y++) {
            if (blocks[x][y]) {
                shapeRenderer.rect(x * 20, y * 20, 18, 18);
            }//from  ww w  .ja va2s.c o m
        }
    }
    shapeRenderer.end();
}

From source file:com.agateau.pixelwheels.racer.RacerDebugShape.java

License:Open Source License

@Override
public void draw(ShapeRenderer renderer) {
    WaypointStore store = mTrack.getWaypointStore();

    // Render waypoints
    renderer.begin(ShapeRenderer.ShapeType.Line);
    for (int idx = 0; idx < store.getCount(); ++idx) {
        renderer.setColor(idx % 2, 1, 0, 1);
        int prevIdx = store.getPreviousIndex(idx);
        renderer.line(store.getWaypoint(prevIdx), store.getWaypoint(idx));
    }/*from www . j  a  v  a  2s.  c  o  m*/
    renderer.end();

    // Render next & prev waypoints, render projected point
    float lapDistance = mRacer.getLapPositionComponent().getLapDistance();
    int nextIdx = store.getWaypointIndex(lapDistance);
    int prevIdx = store.getPreviousIndex(nextIdx);

    OrientedPoint point = store.getValidPosition(mRacer.getVehicle().getBody().getWorldCenter(), lapDistance);

    renderer.begin(ShapeRenderer.ShapeType.Line);
    float radius = 10 * Constants.UNIT_FOR_PIXEL;
    renderer.setColor(1, 1, 0, 1);
    DrawUtils.drawCross(renderer, store.getWaypoint(prevIdx), radius);
    renderer.setColor(0, 1, 1, 1);
    DrawUtils.drawCross(renderer, store.getWaypoint(nextIdx), radius);
    renderer.setColor(1, 1, 1, 1);
    DrawUtils.drawCross(renderer, point.x, point.y, radius);

    renderer.end();
}

From source file:com.bladecoder.engine.model.Scene.java

License:Apache License

public void drawBBoxLines(ShapeRenderer renderer) {
    // renderer.begin(ShapeType.Rectangle);
    renderer.begin(ShapeType.Line);

    for (BaseActor a : actors.values()) {
        Polygon p = a.getBBox();/*from ww w  .j a  va 2 s  .c om*/

        if (p == null) {
            EngineLogger.error("ERROR DRAWING BBOX FOR: " + a.getId());
        }

        if (a instanceof ObstacleActor) {
            renderer.setColor(OBSTACLE_COLOR);
            renderer.polygon(p.getTransformedVertices());
        } else if (a instanceof AnchorActor) {
            renderer.setColor(Scene.ANCHOR_COLOR);
            renderer.line(p.getX() - Scene.ANCHOR_RADIUS, p.getY(), p.getX() + Scene.ANCHOR_RADIUS, p.getY());
            renderer.line(p.getX(), p.getY() - Scene.ANCHOR_RADIUS, p.getX(), p.getY() + Scene.ANCHOR_RADIUS);
        } else {
            renderer.setColor(ACTOR_BBOX_COLOR);
            renderer.polygon(p.getTransformedVertices());
        }

        // Rectangle r = a.getBBox().getBoundingRectangle();
        // renderer.rect(r.getX(), r.getY(), r.getWidth(), r.getHeight());
    }

    if (polygonalNavGraph != null) {
        renderer.setColor(WALKZONE_COLOR);
        renderer.polygon(polygonalNavGraph.getWalkZone().getTransformedVertices());

        // DRAW LINEs OF SIGHT
        renderer.setColor(Color.WHITE);
        ArrayList<NavNodePolygonal> nodes = polygonalNavGraph.getGraphNodes();
        for (NavNodePolygonal n : nodes) {
            for (NavNodePolygonal n2 : n.neighbors) {
                renderer.line(n.x, n.y, n2.x, n2.y);
            }
        }
    }

    renderer.end();
}

From source file:com.company.minery.utils.spine.SkeletonRendererDebug.java

License:Open Source License

public void draw(Skeleton skeleton) {
    float skeletonX = skeleton.getX();
    float skeletonY = skeleton.getY();

    Gdx.gl.glEnable(GL20.GL_BLEND);/*from   w w w . j  a  v a 2  s.  c  o m*/
    int srcFunc = premultipliedAlpha ? GL20.GL_ONE : GL20.GL_SRC_ALPHA;
    Gdx.gl.glBlendFunc(srcFunc, GL20.GL_ONE_MINUS_SRC_ALPHA);

    ShapeRenderer shapes = this.shapes;

    Array<Bone> bones = skeleton.getBones();
    if (drawBones) {
        shapes.setColor(boneLineColor);
        shapes.begin(ShapeType.Filled);
        for (int i = 0, n = bones.size; i < n; i++) {
            Bone bone = bones.get(i);
            if (bone.parent == null)
                continue;
            float x = skeletonX + bone.data.length * bone.m00 + bone.worldX;
            float y = skeletonY + bone.data.length * bone.m10 + bone.worldY;
            shapes.rectLine(skeletonX + bone.worldX, skeletonY + bone.worldY, x, y, boneWidth * scale);
        }
        shapes.end();
        shapes.begin(ShapeType.Line);
        shapes.x(skeletonX, skeletonY, 4 * scale);
    } else
        shapes.begin(ShapeType.Line);

    if (drawRegionAttachments) {
        shapes.setColor(attachmentLineColor);
        Array<Slot> slots = skeleton.getSlots();
        for (int i = 0, n = slots.size; i < n; i++) {
            Slot slot = slots.get(i);
            Attachment attachment = slot.attachment;
            if (attachment instanceof RegionAttachment) {
                RegionAttachment regionAttachment = (RegionAttachment) attachment;
                regionAttachment.updateWorldVertices(slot, false);
                float[] vertices = regionAttachment.getWorldVertices();
                shapes.line(vertices[X1], vertices[Y1], vertices[X2], vertices[Y2]);
                shapes.line(vertices[X2], vertices[Y2], vertices[X3], vertices[Y3]);
                shapes.line(vertices[X3], vertices[Y3], vertices[X4], vertices[Y4]);
                shapes.line(vertices[X4], vertices[Y4], vertices[X1], vertices[Y1]);
            }
        }
    }

    if (drawMeshHull || drawMeshTriangles) {
        Array<Slot> slots = skeleton.getSlots();
        for (int i = 0, n = slots.size; i < n; i++) {
            Slot slot = slots.get(i);
            Attachment attachment = slot.attachment;
            float[] vertices = null;
            short[] triangles = null;
            int hullLength = 0;
            if (attachment instanceof MeshAttachment) {
                MeshAttachment mesh = (MeshAttachment) attachment;
                mesh.updateWorldVertices(slot, false);
                vertices = mesh.getWorldVertices();
                triangles = mesh.getTriangles();
                hullLength = mesh.getHullLength();
            } else if (attachment instanceof SkinnedMeshAttachment) {
                SkinnedMeshAttachment mesh = (SkinnedMeshAttachment) attachment;
                mesh.updateWorldVertices(slot, false);
                vertices = mesh.getWorldVertices();
                triangles = mesh.getTriangles();
                hullLength = mesh.getHullLength();
            }
            if (vertices == null || triangles == null)
                continue;
            if (drawMeshTriangles) {
                shapes.setColor(triangleLineColor);
                for (int ii = 0, nn = triangles.length; ii < nn; ii += 3) {
                    int v1 = triangles[ii] * 5, v2 = triangles[ii + 1] * 5, v3 = triangles[ii + 2] * 5;
                    shapes.triangle(vertices[v1], vertices[v1 + 1], //
                            vertices[v2], vertices[v2 + 1], //
                            vertices[v3], vertices[v3 + 1] //
                    );
                }
            }
            if (drawMeshHull && hullLength > 0) {
                shapes.setColor(attachmentLineColor);
                hullLength = hullLength / 2 * 5;
                float lastX = vertices[hullLength - 5], lastY = vertices[hullLength - 4];
                for (int ii = 0, nn = hullLength; ii < nn; ii += 5) {
                    float x = vertices[ii], y = vertices[ii + 1];
                    shapes.line(x, y, lastX, lastY);
                    lastX = x;
                    lastY = y;
                }
            }
        }
    }

    if (drawBoundingBoxes) {
        SkeletonBounds bounds = this.bounds;
        bounds.update(skeleton, true);
        shapes.setColor(aabbColor);
        shapes.rect(bounds.getMinX(), bounds.getMinY(), bounds.getWidth(), bounds.getHeight());
        shapes.setColor(boundingBoxColor);
        Array<FloatArray> polygons = bounds.getPolygons();
        for (int i = 0, n = polygons.size; i < n; i++) {
            FloatArray polygon = polygons.get(i);
            shapes.polygon(polygon.items, 0, polygon.size);
        }
    }

    shapes.end();
    shapes.begin(ShapeType.Filled);

    if (drawBones) {
        shapes.setColor(boneOriginColor);
        for (int i = 0, n = bones.size; i < n; i++) {
            Bone bone = bones.get(i);
            shapes.setColor(Color.GREEN);
            shapes.circle(skeletonX + bone.worldX, skeletonY + bone.worldY, 3 * scale, 8);
        }
    }

    shapes.end();
}

From source file:com.esotericsoftware.spine.SkeletonViewer.java

License:Open Source License

public void render() {
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    float delta = Gdx.graphics.getDeltaTime();

    if (skeleton != null) {
        if (reloadTimer <= 0) {
            lastModifiedCheck -= delta;//from ww w. jav  a  2 s .com
            if (lastModifiedCheck < 0) {
                lastModifiedCheck = checkModifiedInterval;
                long time = skeletonFile.lastModified();
                if (time != 0 && lastModified != time)
                    reloadTimer = reloadDelay;
            }
        } else {
            reloadTimer -= delta;
            if (reloadTimer <= 0)
                loadSkeleton(skeletonFile, true);
        }

        state.getData().setDefaultMix(ui.mixSlider.getValue());
        renderer.setPremultipliedAlpha(ui.premultipliedCheckbox.isChecked());

        delta = Math.min(delta, 0.032f) * ui.speedSlider.getValue();
        skeleton.update(delta);
        skeleton.setFlip(ui.flipXCheckbox.isChecked(), ui.flipYCheckbox.isChecked());
        if (!ui.pauseButton.isChecked()) {
            state.update(delta);
            state.apply(skeleton);
        }
        skeleton.setPosition(skeletonX, skeletonY);
        // skeleton.setPosition(0, 0);
        // skeleton.getRootBone().setX(skeletonX);
        // skeleton.getRootBone().setY(skeletonY);
        skeleton.updateWorldTransform();

        batch.begin();
        renderer.draw(batch, skeleton);
        batch.end();

        debugRenderer.setBones(ui.debugBonesCheckbox.isChecked());
        debugRenderer.setRegionAttachments(ui.debugRegionsCheckbox.isChecked());
        debugRenderer.setBoundingBoxes(ui.debugBoundingBoxesCheckbox.isChecked());
        debugRenderer.setMeshHull(ui.debugMeshHullCheckbox.isChecked());
        debugRenderer.setMeshTriangles(ui.debugMeshTrianglesCheckbox.isChecked());
        debugRenderer.draw(skeleton);
    }

    ui.stage.act();
    ui.stage.draw();

    // Draw indicator for timeline position.
    if (state != null) {
        ShapeRenderer shapes = debugRenderer.getShapeRenderer();
        TrackEntry entry = state.getCurrent(0);
        if (entry != null) {
            float percent = entry.getTime() / entry.getEndTime();
            if (entry.getLoop())
                percent %= 1;
            float x = ui.window.getRight() + (Gdx.graphics.getWidth() - ui.window.getRight()) * percent;
            shapes.setColor(Color.CYAN);
            shapes.begin(ShapeType.Line);
            shapes.line(x, 0, x, 20);
            shapes.end();
        }
    }
}

From source file:com.evoluzion.Organismo.java

License:Open Source License

public void verMarcado(ShapeRenderer sr, SpriteBatch sb, BitmapFont f) {
    if (marcado == -1) {
        sr.begin(ShapeType.Rectangle);

        sr.setColor(Color.GREEN);
        sr.rect(borde.x - 2, borde.y - 2, borde.width + 4, borde.height + 4);
        sr.end();//from w  w  w  .j ava2 s.c o  m

        sb.begin();
        f.setColor(Color.GREEN);
        f.draw(sb, nombre, posicion.x + ancho + 5, posicion.y + (alto) + 5);
        f.draw(sb, "" + format.format(energia), posicion.x + ancho + 5, posicion.y);
        sb.end();

    }
}

From source file:com.evoluzion.Organismo.java

License:Open Source License

public void verBorde(ShapeRenderer sr) {

    sr.begin(ShapeType.Rectangle);

    sr.setColor(Color.CYAN);/*from   ww w . j av  a  2 s  . com*/
    sr.rect(borde.x, borde.y, borde.width, borde.height);
    sr.end();

}

From source file:com.github.mkjensen.breakall.actor.Ball.java

License:Apache License

@Override
protected void draw(ShapeRenderer renderer) {
    renderer.begin(ShapeType.Filled);
    renderer.setColor(Color.BLUE);
    renderer.circle(getX(), getY(), getRadius(), CIRCLE_SEGMENTS);
    renderer.end();//from  w w w .j  av a 2s . c om
}

From source file:com.github.mkjensen.breakall.actor.Paddle.java

License:Apache License

@Override
protected void draw(ShapeRenderer renderer) {
    renderer.begin(ShapeType.Filled);
    renderer.setColor(Color.RED);
    renderer.rect(getX() - getWidth() / 2, getY() - getHeight() / 2, getWidth(), getHeight());
    renderer.end();/*from   ww  w  .  j a v  a2s  .com*/
}