/** * Compute the total size that is required for the binary glTF buffer * for the given {@link GltfModel}, which is the sum of all buffer * sizes of all buffers and images * * @param gltfModel The {@link GltfModel} * @return The total size for the binary glTF buffer */ private static int computeBinaryGltfBufferSize(GltfModelV2 gltfModel) { int binaryGltfBufferSize = 0; for (BufferModel bufferModel : gltfModel.getBufferModels()) { ByteBuffer bufferData = bufferModel.getBufferData(); binaryGltfBufferSize += bufferData.capacity(); } for (ImageModel imageModel : gltfModel.getImageModels()) { ByteBuffer imageData = imageModel.getImageData(); binaryGltfBufferSize += imageData.capacity(); } return binaryGltfBufferSize; }
String mimeTypeString = imageModel.getMimeType(); if (mimeTypeString == null) ByteBuffer imageData = imageModel.getImageData(); mimeTypeString = MimeTypes.guessImageMimeTypeStringUnchecked(imageData);
/** * Compute the total size that is required for the binary glTF buffer * for the given {@link GltfModel}, which is the sum of all buffer * sizes of all buffers, images and shaders. * * @param gltfModel The {@link GltfModel} * @return The total size for the binary glTF buffer */ private static int computeBinaryGltfBufferSize(GltfModelV1 gltfModel) { int binaryGltfBufferSize = 0; for (BufferModel bufferModel : gltfModel.getBufferModels()) { ByteBuffer bufferData = bufferModel.getBufferData(); binaryGltfBufferSize += bufferData.capacity(); } for (ImageModel imageModel : gltfModel.getImageModels()) { ByteBuffer imageData = imageModel.getImageData(); binaryGltfBufferSize += imageData.capacity(); } for (ShaderModel shaderModel : gltfModel.getShaderModels()) { ByteBuffer shaderData = shaderModel.getShaderData(); binaryGltfBufferSize += shaderData.capacity(); } return binaryGltfBufferSize; }
ByteBuffer imageData = imageModel.getImageData();
ByteBuffer imageData = imageModel.getImageData();
ByteBuffer imageData = imageModel.getImageData();
ByteBuffer imageData = imageModel.getImageData(); int byteLength = imageData.capacity(); int byteOffset = imageOffsets.get(i);
ByteBuffer imageData = imageModel.getImageData();
ByteBuffer imageData = imageModel.getImageData(); PixelData pixelData = PixelDatas.create(imageData); if (pixelData == null)
Map<String, Integer> imageOffsets = concatBuffers( oldImages.keySet(), id -> gltfModel.getImageModelById(id).getImageData(), binaryGltfByteBuffer); Map<String, Integer> shaderOffsets = concatBuffers( gltfModel.getImageModelById(id).getImageData(); int byteLength = imageData.capacity(); int byteOffset = imageOffsets.get(id);