Example usage for com.badlogic.gdx.graphics GL20 GL_TRIANGLES

List of usage examples for com.badlogic.gdx.graphics GL20 GL_TRIANGLES

Introduction

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

Prototype

int GL_TRIANGLES

To view the source code for com.badlogic.gdx.graphics GL20 GL_TRIANGLES.

Click Source Link

Usage

From source file:gaia.cu9.ari.gaiaorbit.util.g3d.ModelBuilder2.java

License:Apache License

/** Convenience method to create a model with a single node containing a sphere shape. The resources the Material might contain
 * are not managed, use {@link Model#manageDisposable(Disposable)} to add those to the model.
 * @param attributes bitwise mask of the {@link com.badlogic.gdx.graphics.VertexAttributes.Usage}, only Position, Color, Normal
 *           and TextureCoordinates is supported. */
public Model createSphere(float width, float height, float depth, int divisionsU, int divisionsV,
        boolean flipNormals, final Material material, final long attributes, float angleUFrom, float angleUTo,
        float angleVFrom, float angleVTo) {
    return createSphere(width, height, depth, divisionsU, divisionsV, flipNormals, GL20.GL_TRIANGLES, material,
            attributes, angleUFrom, angleUTo, angleVFrom, angleVTo);
}

From source file:graphics.CargoSpace3D.java

License:Apache License

private void drawCargoCube(ModelBuilder modelBuilder, List<Model> models, float x, float y, float z,
        Color cubeColor) {/*from   w w w  . j  a  v a 2  s.c o  m*/
    MeshPartBuilder builder;
    modelBuilder.begin();
    //      builder = modelBuilder.part("grid",GL20.GL_TRIANGLES,Usage.Position | Usage.Normal,new Material(ColorAttribute.createDiffuse(new Color((MathUtils.random(0, 1)+0.1f), MathUtils.random(0, 1)+0.1f, MathUtils.random(0, 1)+0.1f, 0))));

    builder = modelBuilder.part("grid", GL20.GL_TRIANGLES, Usage.Position | Usage.Normal,
            new Material(ColorAttribute.createDiffuse(cubeColor)));
    builder.setColor(Color.GREEN);
    builder.box(x, y, z, .9f, .9f, .9f);
    models.add(modelBuilder.end());

    instances.add(new ModelInstance(models.get(models.size() - 1)));
}

From source file:graphics.Shape3D.java

License:Apache License

@Override
public void create() {
    lights = new Environment();
    lights.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.4f, 0.4f, 0.4f, 1f));
    lights.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -1f, -0.8f, -0.2f));

    modelBatch = new ModelBatch();

    cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    cam.position.set(10f, 10f, 10f);//from w  w w .  j ava2  s . com
    cam.lookAt(0, 0, 0);
    cam.near = 1f;
    cam.far = 300f;
    cam.update();

    //        ModelBuilder modelBuilder = new ModelBuilder();
    //        model = modelBuilder.createBox(5f, 5f, 5f, new Material(ColorAttribute.createDiffuse(Color.GREEN)),
    //        Usage.Position | Usage.Normal);
    //        instance = new ModelInstance(model);

    ModelBuilder modelBuilder = new ModelBuilder();
    MeshPartBuilder builder;

    List<Model> models = new ArrayList<Model>();
    instances = new ArrayList<ModelInstance>();

    for (float y = GRID_MIN; y <= GRID_MAX_Y; y += 1) {
        for (float x = GRID_MIN; x <= GRID_MAX_X; x += 1) {
            for (float z = GRID_MIN; z <= GRID_MAX_Z; z += 1) {

                if (aShape.getShape()[(int) y][(int) x][(int) z] != 0) {
                    modelBuilder.begin();
                    builder = modelBuilder.part("grid", GL20.GL_TRIANGLES, Usage.Position | Usage.Normal,
                            new Material(ColorAttribute.createDiffuse(new Color(0.9f, 0.4f, 0.2f, 0))));
                    builder.setColor(Color.GREEN);
                    builder.box(y, x, z, 1f, 1f, 1f);
                    models.add(modelBuilder.end());

                    instances.add(new ModelInstance(models.get(models.size() - 1)));
                }
            }
        }
    }
    System.out.println("Done");

}

From source file:MeshBoneUtil.CreatureRenderer.java

License:Open Source License

public void Flush() {
    UpdateData();/*ww  w  .  ja  va2  s . c om*/

    creature_texture.bind();
    //no need for depth...
    Gdx.gl.glDepthMask(false);

    //enable blending, for alpha
    Gdx.gl.glEnable(GL20.GL_TEXTURE_2D);
    Gdx.gl.glEnable(GL20.GL_BLEND);
    Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);

    shader_program.begin();

    shader_program.setUniformMatrix("u_projView", camera.combined);
    shader_program.setUniformMatrix("u_xform", xform);
    shader_program.setUniformi("u_texture", 0);

    render_mesh.render(shader_program, GL20.GL_TRIANGLES);

    shader_program.end();

    //re-enable depth to reset states to their default
    Gdx.gl.glDepthMask(true);
}

From source file:mobi.shad.s3lib.gfx.g3d.simpleobject.ObjectMesh.java

License:Apache License

/**
 * @return/*  w  w  w.j  a  v  a2 s . c  o  m*/
 */
public Model getModel() {
    dataToMesh();
    Material mat = new Material(ColorAttribute.createDiffuse(Color.WHITE));
    return getModel(mesh, 0, mesh.getNumVertices(), GL20.GL_TRIANGLES, mat);
}

From source file:mobi.shad.s3lib.gfx.g3d.simpleobject.ObjectMesh.java

License:Apache License

/**
 * @param mat
 * @return
 */
public Model getModel(Material mat) {
    dataToMesh();
    return getModel(mesh, 0, mesh.getNumVertices(), GL20.GL_TRIANGLES, mat);
}

From source file:mobi.shad.s3lib.gfx.node.filter.FxObject3D.java

License:Apache License

/**
 *
 *//*from  w w w. j  a  v  a 2  s  .  co  m*/
@Override
protected void processLocal() {
    data.type = Data.Type.EFFECT_3D;

    if (formGui != null) {
        objectType = formGui.getInt("objectType");
        objectId = formGui.getInt("objectName");
    }

    switch (objectType) {
    default:
        data.primitiveType = GL20.GL_POINTS;
        break;
    case 1:
        data.primitiveType = GL20.GL_LINES;
        break;
    case 2:
        data.primitiveType = GL20.GL_TRIANGLES;
        break;
    }

    switch (objectId) {
    default:
        data.objectMesh = Cube.cube(2.0f, 2.0f, 2.0f);
        break;
    case 1:
        data.objectMesh = Sphere.sphere(2.0f, 2.0f, 2.0f, 10f, 10f);
        break;
    case 2:
        data.objectMesh = Cylinder.cylinder(2.0f, 2.0f, 10f, 10f);
        break;
    case 3:
        data.objectMesh = Plane.plane(2.0f, 2.0f);
        break;
    }
}

From source file:mobi.shad.s3lib.gfx.node.filter.FxPoint3D.java

License:Apache License

/**
 *
 *///from   ww w .j a va  2 s  . co  m
@Override
protected void processLocal() {

    data.type = Data.Type.EFFECT_3D;

    if (formGui != null) {

        objectType = formGui.getInt("objectType");

        countX = formGui.getInt("countX");
        countY = formGui.getInt("countY");

        countStepX = formGui.getFloat("countStepX") / 10;
        countStepY = formGui.getFloat("countStepY") / 10;

        speedX1 = formGui.getFloat("speedX1");
        speedY1 = formGui.getFloat("speedY1");
        stepX1 = formGui.getFloat("stepX1");
        stepY1 = formGui.getFloat("stepY1");
        amplitudeX1 = formGui.getFloat("amplitudeX1") / 10;
        amplitudeY1 = formGui.getFloat("amplitudeY1") / 10;

        speedX2 = formGui.getFloat("speedX2");
        speedY2 = formGui.getFloat("speedY2");
        stepX2 = formGui.getFloat("stepX2");
        stepY2 = formGui.getFloat("stepY2");
        amplitudeX2 = formGui.getFloat("amplitudeX2") / 10;
        amplitudeY2 = formGui.getFloat("amplitudeY2") / 10;

        speedX3 = formGui.getFloat("speedX3");
        speedY3 = formGui.getFloat("speedY3");
        stepX3 = formGui.getFloat("stepX3");
        stepY3 = formGui.getFloat("stepY3");
        amplitudeX3 = formGui.getFloat("amplitudeX3") / 10;
        amplitudeY3 = formGui.getFloat("amplitudeY3") / 10;
    }

    switch (objectType) {
    default:
        data.primitiveType = GL20.GL_POINTS;
        break;
    case 1:
        data.primitiveType = GL20.GL_LINES;
        break;
    case 2:
        data.primitiveType = GL20.GL_TRIANGLES;
        break;
    }

    data.objectMesh = new ObjectMesh(false, true, false);
    data.objectMesh.useIndicesIndex = false;

    int tmpC = countX * countY;
    for (int i = 0; i < tmpC; i++) {
        data.objectMesh.addVertex((float) Math.round(data.startX + S3Math.randomize(data.width, data.centerX)),
                (float) Math.round(data.startY + S3Math.randomize(data.height, data.centerY)),
                (float) Math.round(data.startY + S3Math.randomize(data.height, data.centerX)));
    }
}

From source file:org.ah.gcode.preview.gcode.Layer.java

License:Open Source License

protected Mesh process(List<GCodeMovement> movements, int verticeElements, int indiceElements, int meshNo,
        ModelBuilder modelBuilder, Material material, float layerHeight) {

    MeshDetails meshDetails = new MeshDetails(verticeElements, indiceElements, meshNo);

    Mesh mesh = new Mesh(true, verticeElements, indiceElements, VertexAttribute.Position(),
            VertexAttribute.ColorUnpacked(), VertexAttribute.Normal(), VertexAttribute.TexCoords(0));

    int vi = 0;/*from   ww  w  . ja  v  a2  s  . c om*/
    int ii = 0;
    GCodeMovement previousMovement = null;
    for (GCodeMovement movement : movements) {

        movement.process(nextOrdinaryNumber, meshDetails, layerHeight, previousMovement);
        if (movement.isExtrude()) {
            previousMovement = movement;
        } else {
            previousMovement = null;
        }
        nextOrdinaryNumber = nextOrdinaryNumber + 1;

        vi = vi + movement.getVerticeElementsPerSegment();
        ii = ii + movement.getIndiceElementsPerSegment();
    }

    mesh.setVertices(meshDetails.vertices);
    mesh.setIndices(meshDetails.indices);

    Node node = modelBuilder.node();
    node.id = Integer.toString(meshNo);
    modelBuilder.part(Integer.toString(meshNo), mesh, GL20.GL_TRIANGLES, material);
    return mesh;
}

From source file:org.ah.gcode.preview.GCodePreview.java

License:Open Source License

protected void createBed(float bedWidth, float bedHeight) {
    Texture checkedTexture = textureProvider.load("bed.png");

    Material checkedMaterial = new Material(TextureAttribute.createDiffuse(checkedTexture));
    Material emptyMaterial = new Material();

    ModelBuilder modelBuilder = new ModelBuilder();

    Mesh mesh = ModelBuilders.createRectY2(0f, 0f, 0f, bedWidth, bedHeight, 0);
    modelBuilder.begin();//  w  w  w. j  av  a 2 s.  c  o  m
    modelBuilder.part("1", mesh, GL20.GL_TRIANGLES, checkedMaterial);
    Model planeModel = modelBuilder.end();

    planeInstance = new ModelInstance(planeModel);
    instances.add(planeInstance);

    SceneCameraInputController sceneCameraInputController = new SceneCameraInputController(camera,
            planeInstance);
    controller = new Controller(gCodeModel, window, sceneCameraInputController, exitCallback);
    Gdx.input.setInputProcessor(controller);

    controller.getLeftPanel().setVisible(true);

    Model axisModel = modelBuilder.createXYZCoordinates(10, emptyMaterial,
            Usage.Position | Usage.ColorUnpacked | Usage.Normal);
    ModelInstance axisInstance = new ModelInstance(axisModel);
    instances.add(axisInstance);
}