@Test public final void testBufferUpdateAllIdentities() { final JCGLArrayBuffersType ga = this.getArrayBuffers("main"); final JCGLArrayBufferType a = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); final JCGLBufferUpdateType<JCGLArrayBufferType> u = JCGLBufferUpdates.newUpdateReplacingAll(a); Assert.assertSame(a, u.buffer()); final UnsignedRangeInclusiveL u_range = u.dataUpdateRange(); final ByteBuffer u_data = u.data(); Assert.assertEquals(a.byteRange(), u_range); Assert.assertEquals(u_range.getInterval(), (long) u_data.capacity()); }
@Test public final void testArrayAllocateIdentities() { final JCGLArrayBuffersType ga = this.getArrayBuffers("main"); final JCGLArrayBufferType a = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); final UnsignedRangeInclusiveL r = a.byteRange(); Assert.assertEquals(0L, r.getLower()); Assert.assertEquals(99L, r.getUpper()); Assert.assertEquals(JCGLUsageHint.USAGE_STATIC_DRAW, a.usageHint()); Assert.assertFalse(a.isDeleted()); }
@Test public final void testLoadArrayIndexOK() throws Exception { final JCGLAsyncResourceLoaderType loader = this.getLoader("main"); final CompletableFuture<JCGLAsyncBufferPair> f = loader.loadArrayIndexBuffers( () -> "Data", (data) -> Long.valueOf(200L), JCGLUsageHint.USAGE_STATIC_DRAW, (data) -> Long.valueOf(100L), JCGLUnsignedType.TYPE_UNSIGNED_BYTE, JCGLUsageHint.USAGE_DYNAMIC_DRAW, (data, array) -> JCGLBufferUpdates.newUpdateReplacingAll(array), (data, index) -> JCGLBufferUpdates.newUpdateReplacingAll(index) ); final JCGLAsyncBufferPairType p = f.get(30L, TimeUnit.SECONDS); final JCGLArrayBufferType a = p.arrayBuffer(); final JCGLIndexBufferType i = p.indexBuffer(); Assert.assertEquals(200L, a.byteRange().getInterval()); Assert.assertEquals(JCGLUsageHint.USAGE_STATIC_DRAW, a.usageHint()); Assert.assertEquals(100L, i.byteRange().getInterval()); Assert.assertEquals(JCGLUnsignedType.TYPE_UNSIGNED_BYTE, i.type()); Assert.assertEquals(JCGLUsageHint.USAGE_DYNAMIC_DRAW, i.usageHint()); }
@Test public final void testArrayReallocateIdentities() { final JCGLArrayBuffersType ga = this.getArrayBuffers("main"); final JCGLArrayBufferType a = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); final UnsignedRangeInclusiveL r = a.byteRange(); Assert.assertEquals(0L, r.getLower()); Assert.assertEquals(99L, r.getUpper()); Assert.assertEquals(JCGLUsageHint.USAGE_STATIC_DRAW, a.usageHint()); Assert.assertFalse(a.isDeleted()); ga.arrayBufferReallocate(a); Assert.assertEquals(0L, r.getLower()); Assert.assertEquals(99L, r.getUpper()); Assert.assertEquals(JCGLUsageHint.USAGE_STATIC_DRAW, a.usageHint()); Assert.assertFalse(a.isDeleted()); }