List of usage examples for com.badlogic.gdx.graphics GL20 GL_TRIANGLES
int GL_TRIANGLES
To view the source code for com.badlogic.gdx.graphics GL20 GL_TRIANGLES.
Click Source Link
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); }