protected void updateSubBatch(Geometry bg) { Batch batch = batchesByGeom.get(bg); if (batch != null) { Mesh mesh = batch.geometry.getMesh(); Mesh origMesh = bg.getMesh(); VertexBuffer pvb = mesh.getBuffer(VertexBuffer.Type.Position); VertexBuffer nvb = mesh.getBuffer(VertexBuffer.Type.Normal); VertexBuffer tvb = mesh.getBuffer(VertexBuffer.Type.Tangent); VertexBuffer opvb = origMesh.getBuffer(VertexBuffer.Type.Position); VertexBuffer onvb = origMesh.getBuffer(VertexBuffer.Type.Normal); VertexBuffer otvb = origMesh.getBuffer(VertexBuffer.Type.Tangent); FloatBuffer posBuf = getFloatBuffer(pvb); FloatBuffer normBuf = getFloatBuffer(nvb); FloatBuffer tanBuf = getFloatBuffer(tvb); FloatBuffer oposBuf = getFloatBuffer(opvb); FloatBuffer onormBuf = getFloatBuffer(onvb); FloatBuffer otanBuf = getFloatBuffer(otvb); Matrix4f transformMat = getTransformMatrix(bg); doTransforms(oposBuf, onormBuf, otanBuf, posBuf, normBuf, tanBuf, bg.startIndex, bg.startIndex + bg.getVertexCount(), transformMat); pvb.updateData(posBuf); if (nvb != null) { nvb.updateData(normBuf); } if (tvb != null) { tvb.updateData(tanBuf); } batch.geometry.updateModelBound(); } }
tvb.updateData(tanBuf); } else { doTransforms(oposBuf, onormBuf, posBuf, normBuf, bg.startIndex, bg.startIndex + bg.getVertexCount(), transformMat);
protected void updateSubBatch(Geometry bg) { Batch batch = batchesByGeom.get(bg); if (batch != null) { Mesh mesh = batch.geometry.getMesh(); Mesh origMesh = bg.getMesh(); VertexBuffer pvb = mesh.getBuffer(VertexBuffer.Type.Position); VertexBuffer nvb = mesh.getBuffer(VertexBuffer.Type.Normal); VertexBuffer tvb = mesh.getBuffer(VertexBuffer.Type.Tangent); VertexBuffer opvb = origMesh.getBuffer(VertexBuffer.Type.Position); VertexBuffer onvb = origMesh.getBuffer(VertexBuffer.Type.Normal); VertexBuffer otvb = origMesh.getBuffer(VertexBuffer.Type.Tangent); FloatBuffer posBuf = getFloatBuffer(pvb); FloatBuffer normBuf = getFloatBuffer(nvb); FloatBuffer tanBuf = getFloatBuffer(tvb); FloatBuffer oposBuf = getFloatBuffer(opvb); FloatBuffer onormBuf = getFloatBuffer(onvb); FloatBuffer otanBuf = getFloatBuffer(otvb); Matrix4f transformMat = getTransformMatrix(bg); doTransforms(oposBuf, onormBuf, otanBuf, posBuf, normBuf, tanBuf, bg.startIndex, bg.startIndex + bg.getVertexCount(), transformMat); pvb.updateData(posBuf); if (nvb != null) { nvb.updateData(normBuf); } if (tvb != null) { tvb.updateData(tanBuf); } batch.geometry.updateModelBound(); } }