Используя Jglf версии 2.0.4 из Maven Central:
Код: Выделить всё
@Test
public void testBufferViewSlice() {
ByteBuffer byteBuffer = Buffers.create(10);
for (byte i = 0; i < 10; i++)
{
byteBuffer.put(i);
}
DefaultBufferModel bufferModel = new DefaultBufferModel();
bufferModel.setBufferData(byteBuffer);
DefaultBufferViewModel defaultBufferViewModel = new DefaultBufferViewModel(GltfConstants.GL_ARRAY_BUFFER);
defaultBufferViewModel.setBufferModel(bufferModel);
defaultBufferViewModel.setByteOffset(0);
defaultBufferViewModel.setByteLength(5);
ByteBuffer slice = defaultBufferViewModel.getBufferViewData(); //Here is the exception thrown
}
Код: Выделить всё
java.lang.IllegalArgumentException: The new limit is 5, but the capacity is 0
at de.javagl.jgltf.model.io.Buffers.createSlice(Buffers.java:109)
at de.javagl.jgltf.model.impl.DefaultBufferViewModel.getBufferViewData(DefaultBufferViewModel.java:153)
at xxx.gltf.AVSGLTFBuilderTests.testBufferViewSlice(AVSGLTFBuilderTests.java:167)
...
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
Подробнее здесь: https://stackoverflow.com/questions/793 ... -buffer-vi
Мобильная версия