@Override public void update( final JCGLInterfaceGL33Type g, final R2TransformContextType context) { NullCheck.notNull(context); NullCheck.notNull(g); final JCGLArrayBuffersType g_ab = g.getArrayBuffers(); final JCGLArrayObjectsType g_ao = g.getArrayObjects(); final FloatBuffer floats = this.update_vbo.getData().asFloatBuffer(); for (int index = this.used; index < this.max_size; ++index) { final int offset = Math.multiplyExact(index, 5); floats.put(offset + 0, 0.0f); floats.put(offset + 1, 0.0f); floats.put(offset + 2, 0.0f); floats.put(offset + 3, 0.0f); floats.put(offset + 4, 0.0f); } g_ao.arrayObjectBind(this.data_vao); g_ab.arrayBufferBind(this.data_vbo); g_ab.arrayBufferReallocate(this.data_vbo); g_ab.arrayBufferUpdate(this.update_vbo); g_ao.arrayObjectUnbind(); }
@Test public final void testArrayDeleteUnbinds() { final JCGLArrayBuffersType ga = this.getArrayBuffers("main"); final JCGLArrayBufferType a = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); ga.arrayBufferBind(a); Assert.assertEquals(Optional.of(a), ga.arrayBufferGetCurrentlyBound()); ga.arrayBufferDelete(a); Assert.assertTrue(a.isDeleted()); Assert.assertFalse(ga.arrayBufferGetCurrentlyBound().isPresent()); }
@Test public final void testArrayDeleteUnbinds() { final JCGLArrayBuffersType ga = this.getArrayBuffers("main"); final JCGLArrayBufferType a = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); ga.arrayBufferBind(a); Assert.assertEquals(Optional.of(a), ga.arrayBufferGetCurrentlyBound()); ga.arrayBufferDelete(a); Assert.assertTrue(a.isDeleted()); Assert.assertFalse(ga.arrayBufferGetCurrentlyBound().isPresent()); }
@Test public final void testArrayDeleteNoUnbindOther() { final JCGLArrayBuffersType ga = this.getArrayBuffers("main"); final JCGLArrayBufferType a = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); final JCGLArrayBufferType b = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); ga.arrayBufferBind(a); Assert.assertEquals(Optional.of(a), ga.arrayBufferGetCurrentlyBound()); ga.arrayBufferDelete(b); Assert.assertTrue(b.isDeleted()); Assert.assertFalse(a.isDeleted()); Assert.assertEquals(Optional.of(a), ga.arrayBufferGetCurrentlyBound()); }
@Test public final void testArrayBindDeleted() { final JCGLArrayBuffersType ga = this.getArrayBuffers("main"); final JCGLArrayBufferType a = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); ga.arrayBufferDelete(a); Assert.assertTrue(a.isDeleted()); this.expected.expect(JCGLExceptionDeleted.class); ga.arrayBufferBind(a); Assert.fail(); }
final JCGLArrayBuffersType g_ab) g_ab.arrayBufferBind(array_buffer); final ByteBuffer rb = copyHeap(g_ab.arrayBufferRead(
@Test public final void testArrayDeleteNoUnbindOther() { final JCGLArrayBuffersType ga = this.getArrayBuffers("main"); final JCGLArrayBufferType a = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); final JCGLArrayBufferType b = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); ga.arrayBufferBind(a); Assert.assertEquals(Optional.of(a), ga.arrayBufferGetCurrentlyBound()); ga.arrayBufferDelete(b); Assert.assertTrue(b.isDeleted()); Assert.assertFalse(a.isDeleted()); Assert.assertEquals(Optional.of(a), ga.arrayBufferGetCurrentlyBound()); }
@Test public final void testArrayBindDeleted() { final JCGLArrayBuffersType ga = this.getArrayBuffers("main"); final JCGLArrayBufferType a = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); ga.arrayBufferDelete(a); Assert.assertTrue(a.isDeleted()); this.expected.expect(JCGLExceptionDeleted.class); ga.arrayBufferBind(a); Assert.fail(); }
@Test public final void testArrayBindIdentities() { final JCGLArrayBuffersType ga = this.getArrayBuffers("main"); Assert.assertFalse(ga.arrayBufferGetCurrentlyBound().isPresent()); Assert.assertFalse(ga.arrayBufferAnyIsBound()); final JCGLArrayBufferType a0 = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); final JCGLArrayBufferType a1 = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); Assert.assertTrue(ga.arrayBufferAnyIsBound()); Assert.assertTrue(ga.arrayBufferIsBound(a1)); Assert.assertEquals(Optional.of(a1), ga.arrayBufferGetCurrentlyBound()); ga.arrayBufferBind(a0); Assert.assertTrue(ga.arrayBufferAnyIsBound()); Assert.assertTrue(ga.arrayBufferIsBound(a0)); Assert.assertEquals(Optional.of(a0), ga.arrayBufferGetCurrentlyBound()); ga.arrayBufferBind(a1); Assert.assertTrue(ga.arrayBufferAnyIsBound()); Assert.assertTrue(ga.arrayBufferIsBound(a1)); Assert.assertEquals(Optional.of(a1), ga.arrayBufferGetCurrentlyBound()); ga.arrayBufferUnbind(); Assert.assertEquals(Optional.empty(), ga.arrayBufferGetCurrentlyBound()); Assert.assertFalse(ga.arrayBufferGetCurrentlyBound().isPresent()); Assert.assertFalse(ga.arrayBufferAnyIsBound()); }
@Test public final void testArrayBindIdentities() { final JCGLArrayBuffersType ga = this.getArrayBuffers("main"); Assert.assertFalse(ga.arrayBufferGetCurrentlyBound().isPresent()); Assert.assertFalse(ga.arrayBufferAnyIsBound()); final JCGLArrayBufferType a0 = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); final JCGLArrayBufferType a1 = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); Assert.assertTrue(ga.arrayBufferAnyIsBound()); Assert.assertTrue(ga.arrayBufferIsBound(a1)); Assert.assertEquals(Optional.of(a1), ga.arrayBufferGetCurrentlyBound()); ga.arrayBufferBind(a0); Assert.assertTrue(ga.arrayBufferAnyIsBound()); Assert.assertTrue(ga.arrayBufferIsBound(a0)); Assert.assertEquals(Optional.of(a0), ga.arrayBufferGetCurrentlyBound()); ga.arrayBufferBind(a1); Assert.assertTrue(ga.arrayBufferAnyIsBound()); Assert.assertTrue(ga.arrayBufferIsBound(a1)); Assert.assertEquals(Optional.of(a1), ga.arrayBufferGetCurrentlyBound()); ga.arrayBufferUnbind(); Assert.assertEquals(Optional.empty(), ga.arrayBufferGetCurrentlyBound()); Assert.assertFalse(ga.arrayBufferGetCurrentlyBound().isPresent()); Assert.assertFalse(ga.arrayBufferAnyIsBound()); }
up -> this.g.evaluate((g33, unused) -> { final JCGLArrayBuffersType ga = g33.arrayBuffers(); ga.arrayBufferBind(up.buffer()); ga.arrayBufferUpdate(up); ga.arrayBufferUnbind();
up -> this.g.evaluate((g33, unused) -> { final JCGLArrayBuffersType ga = g33.getArrayBuffers(); ga.arrayBufferBind(up.getBuffer()); ga.arrayBufferUpdate(up); ga.arrayBufferUnbind();
@Test public final void testArrayBindShared() { final JCGLSharedContextPair<JCGLArrayBuffersType> p = this.getArrayBuffersSharedWith("main", "alt"); final JCGLContextType ca = p.getMasterContext(); final JCGLContextType cb = p.getSlaveContext(); final JCGLArrayBuffersType ga = p.getMasterValue(); final JCGLArrayBuffersType gb = p.getSlaveValue(); Assert.assertTrue(ca.contextIsCurrent()); Assert.assertFalse(cb.contextIsCurrent()); final JCGLArrayBufferType a = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); ca.contextReleaseCurrent(); cb.contextMakeCurrent(); gb.arrayBufferBind(a); }
@Test public final void testArrayBindShared() { final JCGLSharedContextPair<JCGLArrayBuffersType> p = this.getArrayBuffersSharedWith("main", "alt"); final JCGLContextType ca = p.getMasterContext(); final JCGLContextType cb = p.getSlaveContext(); final JCGLArrayBuffersType ga = p.getMasterValue(); final JCGLArrayBuffersType gb = p.getSlaveValue(); Assert.assertTrue(ca.contextIsCurrent()); Assert.assertFalse(cb.contextIsCurrent()); final JCGLArrayBufferType a = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); ca.contextReleaseCurrent(); cb.contextMakeCurrent(); gb.arrayBufferBind(a); }
@Test public final void testArrayUpdateShared() { final JCGLSharedContextPair<JCGLArrayBuffersType> p = this.getArrayBuffersSharedWith("main", "alt"); final JCGLContextType ca = p.getMasterContext(); final JCGLContextType cb = p.getSlaveContext(); final JCGLArrayBuffersType ga = p.getMasterValue(); final JCGLArrayBuffersType gb = p.getSlaveValue(); Assert.assertTrue(ca.contextIsCurrent()); Assert.assertFalse(cb.contextIsCurrent()); final JCGLArrayBufferType a = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); final JCGLBufferUpdateType<JCGLArrayBufferType> u = JCGLBufferUpdates.newUpdateReplacingAll(a); ca.contextReleaseCurrent(); cb.contextMakeCurrent(); gb.arrayBufferBind(a); gb.arrayBufferUpdate(u); }
@Test public final void testArrayUpdateShared() { final JCGLSharedContextPair<JCGLArrayBuffersType> p = this.getArrayBuffersSharedWith("main", "alt"); final JCGLContextType ca = p.getMasterContext(); final JCGLContextType cb = p.getSlaveContext(); final JCGLArrayBuffersType ga = p.getMasterValue(); final JCGLArrayBuffersType gb = p.getSlaveValue(); Assert.assertTrue(ca.contextIsCurrent()); Assert.assertFalse(cb.contextIsCurrent()); final JCGLArrayBufferType a = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); final JCGLBufferUpdateType<JCGLArrayBufferType> u = JCGLBufferUpdates.newUpdateReplacingAll(a); ca.contextReleaseCurrent(); cb.contextMakeCurrent(); gb.arrayBufferBind(a); gb.arrayBufferUpdate(u); }
g_ab.arrayBufferBind(this.matrix_vbo); g_ab.arrayBufferReallocate(this.matrix_vbo); g_ab.arrayBufferUpdate(this.update_vbo);
@Test public final void testArrayBindWrongContext() { final JCGLUnsharedContextPair<JCGLArrayBuffersType> p = this.getArrayBuffersUnshared("main", "alt"); final JCGLContextType ca = p.getContextA(); final JCGLContextType cb = p.getContextB(); final JCGLArrayBuffersType ga = p.getValueA(); final JCGLArrayBuffersType gb = p.getValueB(); Assert.assertFalse(ca.contextIsCurrent()); Assert.assertTrue(cb.contextIsCurrent()); cb.contextReleaseCurrent(); ca.contextMakeCurrent(); final JCGLArrayBufferType a = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); ga.arrayBufferDelete(a); Assert.assertTrue(a.isDeleted()); ca.contextReleaseCurrent(); cb.contextMakeCurrent(); this.expected.expect(JCGLExceptionWrongContext.class); gb.arrayBufferBind(a); Assert.fail(); }
@Test public final void testArrayBindWrongContext() { final JCGLUnsharedContextPair<JCGLArrayBuffersType> p = this.getArrayBuffersUnshared("main", "alt"); final JCGLContextType ca = p.getContextA(); final JCGLContextType cb = p.getContextB(); final JCGLArrayBuffersType ga = p.getValueA(); final JCGLArrayBuffersType gb = p.getValueB(); Assert.assertFalse(ca.contextIsCurrent()); Assert.assertTrue(cb.contextIsCurrent()); cb.contextReleaseCurrent(); ca.contextMakeCurrent(); final JCGLArrayBufferType a = ga.arrayBufferAllocate(100L, JCGLUsageHint.USAGE_STATIC_DRAW); ga.arrayBufferDelete(a); Assert.assertTrue(a.isDeleted()); ca.contextReleaseCurrent(); cb.contextMakeCurrent(); this.expected.expect(JCGLExceptionWrongContext.class); gb.arrayBufferBind(a); Assert.fail(); }
pc.set3F(far_x_max, far_y_min, far_z); ga.arrayBufferBind(this.array_buffer); ga.arrayBufferUpdate(this.array_update); ga.arrayBufferUnbind();