diff options
Diffstat (limited to 'src/jogl/classes/com/jogamp/opengl/util')
-rw-r--r-- | src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java | 8 | ||||
-rw-r--r-- | src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java | 21 |
2 files changed, 25 insertions, 4 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java b/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java index 5a1524d05..30fc0012b 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java +++ b/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataClient.java @@ -171,7 +171,13 @@ public class GLArrayDataClient extends GLArrayDataWrapper implements GLArrayData bufferEnabled = enable; } } - + + public void bindBuffer(GL gl, boolean bind) { + if(isVBO()) { + gl.glBindBuffer(getVBOTarget(), bind ? getVBOName() : 0); + } + } + public void setEnableAlways(boolean always) { enableBufferAlways = always; } diff --git a/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java b/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java index bb22a4b7e..588e90d1e 100644 --- a/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java +++ b/src/jogl/classes/com/jogamp/opengl/util/GLArrayDataEditable.java @@ -45,9 +45,15 @@ public interface GLArrayDataEditable extends GLArrayData { public void seal(GL gl, boolean seal); /** - * <p>Enables/disables the buffer, - * sets the client state, binds the VBO if used - * and transfers the data if necessary.</p> + * <p> + * Enables the buffer if <code>enable</code> is <code>true</code>, + * and transfers the data if required. + * In case {@link #isVBO() VBO is used}, it is bound accordingly for the data transfer and data association. + * The VBO buffer is unbound when the method returns. + * </p> + * <p> + * Disables the buffer if <code>enable</code> is <code>false</code>. + * </p> * * <p>The action will only be executed, * if the internal enable state differs, @@ -61,6 +67,15 @@ public interface GLArrayDataEditable extends GLArrayData { * @see #setEnableAlways(boolean) */ public void enableBuffer(GL gl, boolean enable); + + /** + * In case {@link #isVBO() VBO is used}, the buffer is bound + * if <code>bind</code> is <code>true</code>, otherwise the buffer is unbound. + * + * @param gl + * @param bind + */ + public void bindBuffer(GL gl, boolean bind); /** * Affects the behavior of 'enableBuffer'. |