/** * Alter the vertices of this Ui quad so that it of the given size. * * @param width * @param height */ public void resize(final double width, final double height) { _width = width; _height = height; FloatBuffer vertexBuffer = _meshData.getVertexBuffer(); vertexBuffer.clear(); vertexBuffer.put(0).put((float) _height); vertexBuffer.put(0).put(0); vertexBuffer.put((float) _width).put(0); vertexBuffer.put((float) _width).put((float) _height); _meshData.markBufferDirty(MeshData.KEY_VertexCoords); }
/** * Update the vertices of the trail. * * @param camPos * Camera position used for billboarding. */ public void update(final ReadOnlyVector3 camPos) { if (trailVectors.size() < 2) { return; } if (invalid || facingMode == FacingMode.Billboard) { if (updateMode == UpdateMode.Step) { updateStep(camPos); } else { updateInterpolate(camPos); } _meshData.markBufferDirty(MeshData.KEY_VertexCoords); invalid = false; } }
private void setTextureData() { // x = left, y = top, z = right, w = bottom final FloatBuffer coords = _meshData.getTextureBuffer(0); coords.rewind(); coords.put(0).put(0); coords.put(_textureBorderOffsets.getXf()).put(0); coords.put(1f - _textureBorderOffsets.getZf()).put(0); coords.put(1).put(0); coords.put(0).put(_textureBorderOffsets.getWf()); coords.put(_textureBorderOffsets.getXf()).put(_textureBorderOffsets.getWf()); coords.put(1f - _textureBorderOffsets.getZf()).put(_textureBorderOffsets.getWf()); coords.put(1).put(_textureBorderOffsets.getWf()); coords.put(0).put(1f - _textureBorderOffsets.getYf()); coords.put(_textureBorderOffsets.getXf()).put(1f - _textureBorderOffsets.getYf()); coords.put(1f - _textureBorderOffsets.getZf()).put(1f - _textureBorderOffsets.getYf()); coords.put(1).put(1f - _textureBorderOffsets.getYf()); coords.put(0).put(1); coords.put(_textureBorderOffsets.getXf()).put(1); coords.put(1f - _textureBorderOffsets.getZf()).put(1); coords.put(1).put(1); _meshData.markBufferDirty(MeshData.KEY_TextureCoords0); }
normals.put((float) radius).put(0).put(0); _meshData.markBufferDirty(MeshData.KEY_VertexCoords); _meshData.markBufferDirty(MeshData.KEY_NormalCoords);
vertices.put(xs).put(0).put(ys + topB); vertices.put(xs + rightB).put(0).put(ys + topB); _meshData.markBufferDirty(MeshData.KEY_VertexCoords);
vertBuffer.put(f); meshData.markBufferDirty(MeshData.KEY_VertexCoords);
_meshData.markBufferDirty(MeshData.KEY_VertexCoords); _meshData.markBufferDirty(MeshData.KEY_TextureCoords0);
region.getHeight() / vertexDistance); meshData.markBufferDirty(MeshData.KEY_VertexCoords);
destination.put(i + 1, destination.get(i + 1) * diffY + offsetY); parameterObject.getMesh().getMeshData().markBufferDirty(MeshData.KEY_TextureCoords0); destination.put(i + 1, destination.get(i + 1) * diffY + offsetY); parameterObject.getMesh().getMeshData().markBufferDirty(MeshData.KEY_TextureCoords0);
/** * */ public void updateGeometry() { final int numPairs = _tessSteps + 1; final int totalVerts = _tessRings * numPairs * 2; final MeshData meshData = getMeshData(); FloatBuffer crdBuf = meshData.getVertexBuffer(); if (crdBuf == null || totalVerts != crdBuf.limit() / 3) { // allocate new buffers meshData.setVertexBuffer(BufferUtils.createVector3Buffer(totalVerts)); meshData.setNormalBuffer(BufferUtils.createVector3Buffer(totalVerts)); meshData.setTextureBuffer(BufferUtils.createVector2Buffer(totalVerts), 0); crdBuf = meshData.getVertexBuffer(); meshData.getVertexCoords().setVboAccessMode(VBOAccessMode.DynamicDraw); meshData.getNormalCoords().setVboAccessMode(VBOAccessMode.DynamicDraw); meshData.getTextureCoords(0).setVboAccessMode(VBOAccessMode.DynamicDraw); } final FloatBuffer nrmBuf = meshData.getNormalBuffer(); final FloatBuffer txcBuf = meshData.getTextureBuffer(0); calculateVertexData(_tessRings, numPairs, totalVerts, crdBuf, nrmBuf, txcBuf); // mark our data as needing updates meshData.markBufferDirty(MeshData.KEY_VertexCoords); meshData.markBufferDirty(MeshData.KEY_NormalCoords); meshData.markBufferDirty(MeshData.KEY_TextureCoords0); updateModelBound(); }
_morphMesh.getMeshData().markBufferDirty(MeshData.KEY_VertexCoords); } else { for (int i = 0; i < vertQuantity; i++) { _morphMesh.getMeshData().markBufferDirty(MeshData.KEY_VertexCoords); (float) ((1f - delta) * oldnorms.get(i * 3 + x) + delta * newnorms.get(i * 3 + x))); _morphMesh.getMeshData().markBufferDirty(MeshData.KEY_NormalCoords); (float) ((1f - delta) * oldtexts.get(i * 2 + x) + delta * newtexts.get(i * 2 + x))); _morphMesh.getMeshData().markBufferDirty(MeshData.KEY_TextureCoords0); (float) ((1f - delta) * oldcolors.get(i * 4 + x) + delta * newcolors.get(i * 4 + x))); _morphMesh.getMeshData().markBufferDirty(MeshData.KEY_ColorCoords);
_meshData.markBufferDirty(MeshData.KEY_VertexCoords); if (bindNorms != null) { _meshData.markBufferDirty(MeshData.KEY_NormalCoords);
dstMeshData.markBufferDirty(MeshData.KEY_ColorCoords); dstMeshData.markBufferDirty(MeshData.KEY_VertexCoords); dstMeshData.markBufferDirty(MeshData.KEY_NormalCoords); dstMeshData.markBufferDirty(MeshData.KEY_TextureCoords0);
_meshData.markBufferDirty(MeshData.KEY_VertexCoords); _meshData.markBufferDirty(MeshData.KEY_TextureCoords0);
meshData.getColorBuffer().put(SolidBorder._colors); meshData.markBufferDirty(MeshData.KEY_VertexCoords); meshData.markBufferDirty(MeshData.KEY_ColorCoords);
meshData.markBufferDirty(MeshData.KEY_VertexCoords); markDirty(DirtyType.Bounding);
meshData.getColorBuffer().put(GradientBackdrop._cVals); meshData.markBufferDirty(MeshData.KEY_VertexCoords); meshData.markBufferDirty(MeshData.KEY_ColorCoords); GradientBackdrop._mesh.render(renderer);
meshData.markBufferDirty(MeshData.KEY_VertexCoords); meshData.markBufferDirty(MeshData.KEY_TextureCoords0); SubTexUtil._mesh.render(renderer);
meshData.markBufferDirty(MeshData.KEY_VertexCoords); meshData.markBufferDirty(MeshData.KEY_TextureCoords0); SubTexUtil._mesh.render(renderer);
normBuf.put(normBufArray); getMeshData().markBufferDirty(MeshData.KEY_VertexCoords); getMeshData().markBufferDirty(MeshData.KEY_NormalCoords); getMeshData().markBufferDirty(MeshData.KEY_TextureCoords0);