/** * Sets the vertex buffer. * * @param vertexBuffer * the new vertex buffer */ public void setVertexBuffer(final FloatBuffer vertexBuffer) { if (vertexBuffer == null) { setVertexCoords(null); } else { setVertexCoords(new FloatBufferData(vertexBuffer, 3)); } }
/** * Sets the vertex buffer. * * @param vertexBuffer * the new vertex buffer */ public void setVertexBuffer(final FloatBuffer vertexBuffer) { if (vertexBuffer == null) { setVertexCoords(null); } else { setVertexCoords(new FloatBufferData(vertexBuffer, 3)); } refreshInterleaved(); }
/** * Set the basic data for this mesh such as texture coordinates, index mode and our vertex buffer. */ private void initialize() { _meshData.setVertexCoords(new FloatBufferData(BufferUtils.createVector2Buffer(4), 2)); final FloatBuffer tbuf = BufferUtils.createVector2Buffer(4); _meshData.setTextureBuffer(tbuf, 0); tbuf.put(0).put(1); tbuf.put(0).put(0); tbuf.put(1).put(0); tbuf.put(1).put(1); _meshData.setIndexMode(IndexMode.TriangleFan); }
/** * Set the basic data for this mesh such as texture coordinates, index mode and our vertex buffer. */ private void initialize() { final FloatBufferData vbuf = new FloatBufferData(BufferUtils.createVector2Buffer(4), 2); vbuf.setVboAccessMode(VBOAccessMode.DynamicDraw); _meshData.setVertexCoords(vbuf); final FloatBuffer tbuf = BufferUtils.createVector2Buffer(4); _meshData.setTextureBuffer(tbuf, 0); _meshData.getTextureCoords(0).setVboAccessMode(VBOAccessMode.DynamicDraw); tbuf.put(0).put(1); tbuf.put(0).put(0); tbuf.put(1).put(0); tbuf.put(1).put(1); _meshData.setIndexMode(IndexMode.TriangleFan); }
public void initDataBuffers() { // Generate our buffers based on the information collected above and populate MeshData vertices = new FloatBufferData(totalVertices * vertCoords, vertCoords); data.setVertexCoords(vertices); colors = useColors ? new FloatBufferData(totalVertices * 4, 4) : null; data.setColorCoords(colors); normals = useNormals ? new FloatBufferData(totalVertices * 3, 3) : null; data.setNormalCoords(normals); texCoordsList = Lists.newArrayListWithCapacity(maxTextures); for (int i = 0; i < maxTextures; i++) { texCoordsList.add(new FloatBufferData(totalVertices * texCoords, texCoords)); } data.setTextureCoords(useTextures ? texCoordsList : null); }
public void initDataBuffers() { // Generate our buffers based on the information collected above and populate MeshData vertices = new FloatBufferData(totalVertices * vertCoords, vertCoords); data.setVertexCoords(vertices); colors = useColors ? new FloatBufferData(totalVertices * 4, 4) : null; data.setColorCoords(colors); normals = useNormals ? new FloatBufferData(totalVertices * 3, 3) : null; data.setNormalCoords(normals); texCoordsList = Lists.newArrayListWithCapacity(maxTextures); for (int i = 0; i < maxTextures; i++) { final FloatBufferData uvs = new FloatBufferData(totalVertices * texCoords, texCoords); texCoordsList.add(uvs); data.setTextureCoords(uvs, i); } }
mData.setVertexCoords(new FloatBufferData(verts * 3, 3)); mData.setTextureCoords(new FloatBufferData(verts * 2, 2), 0); mData.setColorCoords(new FloatBufferData(verts * 4, 4));
mData.setVertexCoords(new FloatBufferData(verts * 3, 3)); mData.setTextureCoords(new FloatBufferData(verts * 2, 2), 0); mData.setColorCoords(new FloatBufferData(verts * 4, 4));
/** * Creates a flat disk (circle) at the origin flat along the Z. Usually, a higher sample number creates a better * looking disk, but at the cost of more vertex information. * * @param name * The name of the disk. * @param radialSamples * The number of radial samples. * @param radius * The outer radius of the disk. * @param innerRadius * The inner radius of the disk. If greater than 0, the center of the disk has a hole of this size. */ public UIDisk(final String name, final int radialSamples, final double radius, final double innerRadius) { super(name); _radialSamples = radialSamples; // allocate vertices final int verts = radialSamples * 2; _meshData.setVertexCoords(new FloatBufferData(verts * 2, 2)); _meshData.setTextureBuffer(BufferUtils.createVector2Buffer(verts), 0); final int tris = radialSamples * 2; _meshData.setIndices(BufferUtils.createIndexBufferData(3 * tris, verts - 1)); resetGeometry(radius, innerRadius, null); setIndexData(); }
/** * Initializes the vertices and indices. */ private void initialize() { final MeshData meshData = getMeshData(); meshData.setIndexMode(IndexMode.TriangleStrip); // clipSideSize is the number of vertices per clipmapside, so number of all vertices is clipSideSize * // clipSideSize final FloatBufferData vertices = new FloatBufferData( BufferUtils.createVector4Buffer(clipSideSize * clipSideSize), 4); vertices.setVboAccessMode(VBOAccessMode.DynamicDraw); meshData.setVertexCoords(vertices); final int indicesSize = 4 * (3 * frameSize * frameSize + clipSideSize * clipSideSize / 2 + 4 * frameSize - 10); final IndexBufferData<?> indices = BufferUtils.createIndexBufferData(indicesSize, vertices.getBufferCapacity() - 1); indices.setVboAccessMode(VBOAccessMode.DynamicDraw); tmpIndices = new int[indicesSize]; meshData.setIndices(indices); // Go through all rows and fill them with vertexindices. for (int z = 0; z < clipSideSize - 1; z++) { fillRow(0, clipSideSize - 1, z, z + 1); } }
case POSITION: _buffer = BufferUtils.createFloatBuffer(size); meshData.setVertexCoords(new FloatBufferData(_buffer, _paramCount)); break; case NORMAL:
/** * Initializes the vertices and indices. */ private void initialize() { getMeshData().setIndexMode(IndexMode.TriangleStrip); // clipSideSize is the number of vertices per clipmapside, so number of all vertices is clipSideSize * // clipSideSize final FloatBuffer vertices = BufferUtils.createVector4Buffer(clipSideSize * clipSideSize); getMeshData().setVertexCoords(new FloatBufferData(vertices, 4)); if (generateNormals) { final FloatBuffer normals = BufferUtils.createVector3Buffer(clipSideSize * clipSideSize); getMeshData().setNormalCoords(new FloatBufferData(normals, 3)); } // final FloatBuffer textureCoords = BufferUtils.createVector2Buffer(N * N); // getMeshData().setTextureBuffer(textureCoords, 0); final int indicesSize = 4 * (3 * frameSize * frameSize + clipSideSize * clipSideSize / 2 + 4 * frameSize - 10); final IndexBufferData<?> indices = BufferUtils.createIndexBufferData(indicesSize, vertices.capacity() - 1); tmpIndices = new int[indicesSize]; getMeshData().setIndices(indices); // Go through all rows and fill them with vertexindices. for (int z = 0; z < clipSideSize - 1; z++) { fillRow(0, clipSideSize - 1, z, z + 1); } }
final FloatBufferData norms = new FloatBufferData(vertexCount * 3, 3); final FloatBufferData texs = new FloatBufferData(vertexCount * 3, 2); mData.setVertexCoords(verts); mData.setNormalCoords(norms); mData.setTextureCoords(texs, 0);
private static Mesh createMesh() { final Mesh mesh = new Mesh(); mesh.getMeshData().setVertexCoords(new FloatBufferData(BufferUtils.createVector2Buffer(4), 2)); mesh.getMeshData().setTextureBuffer(BufferUtils.createVector2Buffer(4), 0); mesh.getMeshData().setIndexMode(IndexMode.TriangleFan); mesh.setRenderState(SubTexUtil._tstate); final BlendState blend = new BlendState(); blend.setBlendEnabled(true); blend.setSourceFunction(SourceFunction.SourceAlpha); blend.setDestinationFunction(DestinationFunction.OneMinusSourceAlpha); mesh.setRenderState(blend); mesh.updateWorldRenderStates(false); return mesh; } }
private static Mesh createMesh() { final Mesh mesh = new Mesh(); mesh.setRenderMaterial("ui/textured/default_color.yaml"); final MeshData meshData = mesh.getMeshData(); meshData.setVertexCoords(new FloatBufferData(BufferUtils.createVector2Buffer(4), 2)); meshData.setTextureBuffer(BufferUtils.createVector2Buffer(4), 0); meshData.setIndexMode(IndexMode.TriangleFan); meshData.getVertexCoords().setVboAccessMode(VBOAccessMode.DynamicDraw); mesh.setRenderState(SubTexUtil._tstate); final BlendState blend = new BlendState(); blend.setBlendEnabled(true); blend.setSourceFunction(SourceFunction.SourceAlpha); blend.setDestinationFunction(DestinationFunction.OneMinusSourceAlpha); mesh.setRenderState(blend); mesh.updateWorldRenderStates(false); return mesh; } }
private static Mesh createMesh() { // create a triangle strip of 8 triangles. final Mesh mesh = new Mesh(); mesh.setRenderMaterial("ui/untextured/vertex_color_flat.yaml"); mesh.getMeshData().setVertexCoords(new FloatBufferData(BufferUtils.createVector2Buffer(8), 2)); mesh.getMeshData().setColorBuffer(BufferUtils.createColorBuffer(8)); mesh.getMeshData().setIndexMode(IndexMode.TriangleStrip); final IndexBufferData<?> indices = BufferUtils.createIndexBufferData(10, 7); indices.put(new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 0, 1 }); mesh.getMeshData().setIndices(indices); // set up alpha blending. final BlendState blend = new BlendState(); blend.setBlendEnabled(true); blend.setSourceFunction(SourceFunction.SourceAlpha); blend.setDestinationFunction(DestinationFunction.OneMinusSourceAlpha); mesh.setRenderState(blend); mesh.updateWorldRenderStates(false); return mesh; } }
private static Mesh createMesh() { // create a triangle strip of 8 triangles. final Mesh mesh = new Mesh(); mesh.getMeshData().setVertexCoords(new FloatBufferData(BufferUtils.createVector2Buffer(8), 2)); mesh.getMeshData().setColorBuffer(BufferUtils.createColorBuffer(8)); mesh.getMeshData().setIndexMode(IndexMode.TriangleStrip); final IndexBufferData<?> indices = BufferUtils.createIndexBufferData(10, 7); indices.put(new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 0, 1 }); mesh.getMeshData().setIndices(indices); // set up alpha blending. final BlendState blend = new BlendState(); blend.setBlendEnabled(true); blend.setSourceFunction(SourceFunction.SourceAlpha); blend.setDestinationFunction(DestinationFunction.OneMinusSourceAlpha); mesh.setRenderState(blend); // use flat shade so our borders will have a solid color. final ShadingState shading = new ShadingState(); shading.setShadingMode(ShadingMode.Flat); mesh.setRenderState(shading); mesh.updateWorldRenderStates(false); return mesh; } }
meshData.setVertexCoords(verts); meshData.setNormalCoords(norms); meshData.setColorCoords(colors);
meshData.setVertexCoords(verts); meshData.setNormalCoords(norms); meshData.setColorCoords(colors);
final int verts = radialVerts * 4 + 4 * 4; // bg verts + edge decorations if (_meshData.getVertexBuffer() == null || _meshData.getVertexBuffer().capacity() < verts * 2) { _meshData.setVertexCoords(new FloatBufferData(verts * 2, 2)); _meshData.getVertexCoords().setVboAccessMode(VBOAccessMode.DynamicDraw); } else {