diff options
author | Sven Gothel <[email protected]> | 2012-10-10 17:37:38 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2012-10-10 17:37:38 +0200 |
commit | 8582ece7dc7f65271b3184261697a542766d9864 (patch) | |
tree | ceac339e2c0282419aa2bbc9c4ec222eca9d084e /src/jogl/classes/jogamp/opengl/util/GLFixedArrayHandlerFlat.java | |
parent | fb3795504f7b05000651a9ea558dbb1b2a3b16f5 (diff) |
Simplify GLArrayHandler and reduce VBO sideffects
VBO: Always unbind VBO ASAP after data transfer (glBufferData())
and assignment (glVertexPointer(..), glVertexAttribPointer()).
It's a bug to leave it bound .. due to redundancy
and other calls which could have change the VBO binding.
Removed syncData(..), now it's only issued at enable
and hence migrated into the enable method.
Diffstat (limited to 'src/jogl/classes/jogamp/opengl/util/GLFixedArrayHandlerFlat.java')
-rw-r--r-- | src/jogl/classes/jogamp/opengl/util/GLFixedArrayHandlerFlat.java | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/src/jogl/classes/jogamp/opengl/util/GLFixedArrayHandlerFlat.java b/src/jogl/classes/jogamp/opengl/util/GLFixedArrayHandlerFlat.java index 2937cc720..ff1813b95 100644 --- a/src/jogl/classes/jogamp/opengl/util/GLFixedArrayHandlerFlat.java +++ b/src/jogl/classes/jogamp/opengl/util/GLFixedArrayHandlerFlat.java @@ -49,25 +49,23 @@ public class GLFixedArrayHandlerFlat implements GLArrayHandlerFlat { return ad; } - public final void syncData(GL gl, boolean enable, boolean force, Object ext) { - if(enable) { - final GLPointerFunc glp = gl.getGL2ES1(); - switch(ad.getIndex()) { - case GLPointerFunc.GL_VERTEX_ARRAY: - glp.glVertexPointer(ad); - break; - case GLPointerFunc.GL_NORMAL_ARRAY: - glp.glNormalPointer(ad); - break; - case GLPointerFunc.GL_COLOR_ARRAY: - glp.glColorPointer(ad); - break; - case GLPointerFunc.GL_TEXTURE_COORD_ARRAY: - glp.glTexCoordPointer(ad); - break; - default: - throw new GLException("invalid glArrayIndex: "+ad.getIndex()+":\n\t"+ad); - } + public final void syncData(GL gl, Object ext) { + final GLPointerFunc glp = gl.getGL2ES1(); + switch(ad.getIndex()) { + case GLPointerFunc.GL_VERTEX_ARRAY: + glp.glVertexPointer(ad); + break; + case GLPointerFunc.GL_NORMAL_ARRAY: + glp.glNormalPointer(ad); + break; + case GLPointerFunc.GL_COLOR_ARRAY: + glp.glColorPointer(ad); + break; + case GLPointerFunc.GL_TEXTURE_COORD_ARRAY: + glp.glTexCoordPointer(ad); + break; + default: + throw new GLException("invalid glArrayIndex: "+ad.getIndex()+":\n\t"+ad); } } |