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

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

Introduction

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

Prototype

public void end() 

Source Link

Document

Finishes the batch of shapes and ensures they get rendered.

Usage

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

License:Open Source License

public void debug(ShapeRenderer sr) {
    if (debug) {/*  w ww  .ja  v  a2  s .  c o m*/
        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 w  ww .ja v  a2 s. co 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));
    }//w  w w.j a va  2  s. 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();// ww  w .ja  va2  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);/* w ww.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  w ww .  j  a va  2s.c  om
            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();

        sb.begin();//from   www.  j a  v  a  2 s  .c  om
        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);/* w w  w .j  a  v  a 2 s .  c  o  m*/
    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);/*from  ww w .j a  va2 s. c  om*/
    renderer.setColor(Color.BLUE);
    renderer.circle(getX(), getY(), getRadius(), CIRCLE_SEGMENTS);
    renderer.end();
}

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

License:Apache License

@Override
protected void draw(ShapeRenderer renderer) {
    renderer.begin(ShapeType.Filled);//from  w  ww  .  j  av  a2 s. c o m
    renderer.setColor(Color.RED);
    renderer.rect(getX() - getWidth() / 2, getY() - getHeight() / 2, getWidth(), getHeight());
    renderer.end();
}