/** Generate mesh and renderable */ public void end () { if (!building) throw new GdxRuntimeException("Call begin() prior to calling end()"); building = false; builder.end(mesh); }
/** End building the mesh and returns the mesh */ public Mesh end () { return end(new Mesh(true, vertices.size / stride, indices.size, attributes)); }
/** Generate mesh and renderable */ public void end () { if (!building) throw new GdxRuntimeException("Call begin() prior to calling end()"); building = false; builder.end(mesh); }
/** End building the mesh and returns the mesh */ public Mesh end () { return end(new Mesh(true, vertices.size / stride, indices.size, attributes)); }
/** End building the model. * @return The newly created model. Call the {@link Model#dispose()} method when no longer used. */ public Model end () { if (model == null) throw new GdxRuntimeException("Call begin() first"); final Model result = model; endnode(); model = null; for (final MeshBuilder mb : builders) mb.end(); builders.clear(); rebuildReferences(result); return result; }
/** End building the model. * @return The newly created model. Call the {@link Model#dispose()} method when no longer used. */ public Model end () { if (model == null) throw new GdxRuntimeException("Call begin() first"); final Model result = model; endnode(); model = null; for (final MeshBuilder mb : builders) mb.end(); builders.clear(); rebuildReferences(result); return result; }
final Mesh mesh = meshBuilder.end(meshPool.obtain(vertexAttributes, meshBuilder.getNumVertices(), meshBuilder.getNumIndices())); while (offset < renderables.size) final Mesh mesh = meshBuilder.end(meshPool.obtain(vertexAttributes, meshBuilder.getNumVertices(), meshBuilder.getNumIndices())); while (offset < renderables.size)
final Mesh mesh = meshBuilder.end(meshPool.obtain(vertexAttributes, meshBuilder.getNumVertices(), meshBuilder.getNumIndices())); while (offset < renderables.size) final Mesh mesh = meshBuilder.end(meshPool.obtain(vertexAttributes, meshBuilder.getNumVertices(), meshBuilder.getNumIndices())); while (offset < renderables.size)
meshBuilder.box(1f, 1f, 1f); Mesh mesh = new Mesh(true, meshBuilder.getNumVertices(), meshBuilder.getNumIndices(), meshBuilder.getAttributes()); mesh = meshBuilder.end(mesh);
/** Generate mesh and renderable */ public void end () { if (!building) throw new GdxRuntimeException("Call begin() prior to calling end()"); building = false; builder.end(mesh); }
/** End building the mesh and returns the mesh */ public Mesh end () { return end(new Mesh(true, vertices.size / stride, indices.size, attributes)); }
public Mesh meshFaces(List<Face> faces, MeshBuilder builder) { builder.begin(VertexAttributes.Usage.Position | VertexAttributes.Usage.TextureCoordinates | VertexAttributes.Usage.ColorPacked | VertexAttributes.Usage.Normal, GL20.GL_TRIANGLES); builder.ensureVertices(faces.size() * 4); for (Face f : faces) { f.render(builder); } return builder.end(); }
/** End building the model. * @return The newly created model. Call the {@link Model#dispose()} method when no longer used. */ public Model end () { if (model == null) throw new GdxRuntimeException("Call begin() first"); final Model result = model; endnode(); model = null; for (final MeshBuilder mb : builders) mb.end(); builders.clear(); rebuildReferences(result); return result; }
MeshBuilder meb = new MeshBuilder(); final long atr = Usage.Position | Usage.Color; //Add Usage.TextureCoordinates or similar here if you need it //Create mesh #1 meb.begin(atr); meb.cylinder(4f, 6f, 4f, 16); Mesh cyl1 = meb.end(); //Create mesh #2 meb.begin(atr); meb.cylinder(4f, 6f, 4f, 16); Mesh cyl2 = meb.end(); //Combine the two meshes into one model using ModelBuilder ModelBuilder mob = new ModelBuilder(); mob.begin(); mob.part("cylinder1", cyl1, Usage.Position | Usage.Normal | Usage.TextureCoordinates, new Material(ColorAttribute.createDiffuse(Color.RED), ColorAttribute.createSpecular(1, 1, 1, 1), FloatAttribute.createShininess(8f))); mob.part("cylinder2", cyl2, Usage.Position | Usage.Normal | Usage.TextureCoordinates, new Material(ColorAttribute.createDiffuse(Color.GREEN), ColorAttribute.createSpecular(1, 1, 1, 1), FloatAttribute.createShininess(8f))).mesh.transform(new Matrix4().translate(0, 0, -2f)); Model cyl = mob.end();
MeshBuilder meshBuilder = new MeshBuilder(); meshBuilder.begin(VertexAttributes.Usage.Position | VertexAttributes.Usage.Normal); meshBuilder.part("id1", GL20.GL_TRIANGLES); meshBuilder.box(1f, 1f, 1f); Mesh mesh1 = meshBuilder.end(); meshBuilder.begin(VertexAttributes.Usage.Position | VertexAttributes.Usage.Normal); meshBuilder.part("id2", GL20.GL_TRIANGLES); meshBuilder.cylinder(1f, 1f, 1f, 16); Mesh mesh2 = meshBuilder.end(); ModelBuilder modelBuilder = new ModelBuilder(); modelBuilder.begin(); modelBuilder.part("part1", mesh1, GL20.GL_TRIANGLES, new Material(ColorAttribute.createDiffuse(Color.RED))); modelBuilder.part("part2", mesh2, GL20.GL_TRIANGLES, new Material(ColorAttribute.createDiffuse(Color.RED))) .mesh.transform(new Matrix4().translate(1, 0, 0f));
final Mesh mesh = meshBuilder.end(meshPool.obtain(vertexAttributes, meshBuilder.getNumVertices(), meshBuilder.getNumIndices())); while (offset < renderables.size) final Mesh mesh = meshBuilder.end(meshPool.obtain(vertexAttributes, meshBuilder.getNumVertices(), meshBuilder.getNumIndices())); while (offset < renderables.size)
bottomRightBack.setUV(bottomU2, bottomV1), bottomLeftBack.setUV(bottomU1, bottomV1)); Mesh skybox = builder.end();