/** * Internal method to create the GL buffer for the given * {@link BufferViewModel}. If the GL buffer can not be created for * any reason, then a warning will be printed and <code>null</code> * will be returned. * * @param bufferViewModel The {@link BufferViewModel} * @return The GL buffer */ private Integer createGlBufferView(BufferViewModel bufferViewModel) { logger.fine("Creating GL bufferView for bufferView " + bufferViewModel); Integer byteLength = bufferViewModel.getByteLength(); ByteBuffer bufferViewData = bufferViewModel.getBufferViewData(); int target = Optionals.of( bufferViewModel.getTarget(), GltfConstants.GL_ARRAY_BUFFER); int glBufferView = glContext.createGlBufferView( target, byteLength, bufferViewData.slice()); logger.fine("Creating GL bufferView for bufferView " + bufferViewModel + " DONE"); return glBufferView; }
BufferViewModel morphedBufferViewModel = morphedAccessorModel.getBufferViewModel(); morphedBufferViewModel.getByteLength(); ByteBuffer morphedBufferViewData = morphedBufferViewModel.getBufferViewData();
/** * Create the {@link BufferView} object from the given * {@link BufferViewModel} * * @param bufferViewModel The {@link BufferViewModel} * @param bufferId The {@link Buffer} ID * @return The {@link BufferView} objects */ private static BufferView createBufferView( BufferViewModel bufferViewModel, String bufferId) { BufferView bufferView = new BufferView(); bufferView.setBuffer(bufferId); bufferView.setByteOffset(bufferViewModel.getByteOffset()); bufferView.setByteLength(bufferViewModel.getByteLength()); bufferView.setTarget(bufferViewModel.getTarget()); return bufferView; }
/** * Create the {@link BufferView} object from the given * {@link BufferViewModel} * * @param bufferViewModel The {@link BufferViewModel} * @param bufferIndex The {@link Buffer} index * @return The {@link BufferView} objects */ private static BufferView createBufferView( BufferViewModel bufferViewModel, int bufferIndex) { BufferView bufferView = new BufferView(); bufferView.setBuffer(bufferIndex); bufferView.setByteOffset(bufferViewModel.getByteOffset()); bufferView.setByteLength(bufferViewModel.getByteLength()); bufferView.setByteStride(bufferViewModel.getByteStride()); bufferView.setTarget(bufferViewModel.getTarget()); return bufferView; }