Hi
When I check my VBO buffer size with: int vBufferSize = mVertexCount * 3 * Buffers.SIZEOF_FLOAT; // = (3xnumTris)x(3 for vertex x,y,z)xfloat size gl2.glBindBuffer(GL2.GL_ARRAY_BUFFER,mVBO); // Bind The Buffer gl2.glBufferData(GL.GL_ARRAY_BUFFER, vBufferSize, mVertices, GL2.GL_STATIC_DRAW); // Load The Data - "Static" means the data in VBO will not be changed (specified once and used many times) gl2.glBindVertexArray(0); // check vertex buffer size gl2.glGetBufferParameteriv(GL2.GL_ARRAY_BUFFER, GL2.GL_BUFFER_SIZE,GLArrays.iarray1,0); int actualBufferSize = GLArrays.iarray1[0]; int expectedBufferSize = mVertexCount * 3 * Buffers.SIZEOF_FLOAT; if (actualBufferSize != expectedBufferSize) { return false; } it works fine. However, when I check the size of the vertex indices buffer using similar code it always returns the allocated buffer size of 3?: int indicesBufferSize = numberTriangles * 3 * Buffers.SIZEOF_INT; gl2.glBindBuffer(GL2.GL_ELEMENT_ARRAY_BUFFER,mVBOIndices); // bind the buffer gl2.glBufferData(GL.GL_ELEMENT_ARRAY_BUFFER, indicesBufferSize, mVertexIndices, GL2.GL_STATIC_DRAW); gl2.glBindBuffer(GL2.GL_ELEMENT_ARRAY_BUFFER, 0); // check buffer size gl2.glGetBufferParameteriv(GL2.GL_ELEMENT_ARRAY_BUFFER,GL2.GL_BUFFER_SIZE,GLArrays.iarray1,0); actualBufferSize = GLArrays.iarray1[0]; expectedBufferSize = numberTriangles * 3 * Buffers.SIZEOF_INT; if (actualBufferSize != expectedBufferSize) { return false; } I checked the standard: http://www.opengl.org/sdk/docs/man/xhtml/glGetBufferParameteriv.xml and GL_ELEMENT_ARRAY_BUFFER is a valid argument to glGetBufferParameteriv(). Thanks Graham |
Administrator
|
On Friday, December 09, 2011 06:01:21 PM gmseed [via jogamp] wrote:
> > Hi > > When I check my VBO buffer size with: > > > int vBufferSize = mVertexCount * 3 * Buffers.SIZEOF_FLOAT; // = > (3xnumTris)x(3 for vertex x,y,z)xfloat size > gl2.glBindBuffer(GL2.GL_ARRAY_BUFFER,mVBO); // Bind The Buffer > gl2.glBufferData(GL.GL_ARRAY_BUFFER, vBufferSize, mVertices, > GL2.GL_STATIC_DRAW); // Load The Data - "Static" means the data in VBO will > not be changed (specified once and used many times) > gl2.glBindVertexArray(0); > > // check vertex buffer size > gl2.glGetBufferParameteriv(GL2.GL_ARRAY_BUFFER, > GL2.GL_BUFFER_SIZE,GLArrays.iarray1,0); > int actualBufferSize = GLArrays.iarray1[0]; > int expectedBufferSize = mVertexCount * 3 * Buffers.SIZEOF_FLOAT; > if (actualBufferSize != expectedBufferSize) > { > return false; > } > > > it works fine. However, when I check the size of the vertex indices buffer > using similar code it always returns the allocated buffer size of 3?: > > > int indicesBufferSize = numberTriangles * 3 * Buffers.SIZEOF_INT; > gl2.glBindBuffer(GL2.GL_ELEMENT_ARRAY_BUFFER,mVBOIndices); // bind > the buffer > gl2.glBufferData(GL.GL_ELEMENT_ARRAY_BUFFER, indicesBufferSize, > mVertexIndices, GL2.GL_STATIC_DRAW); > gl2.glBindBuffer(GL2.GL_ELEMENT_ARRAY_BUFFER, 0); > > // check buffer size > > gl2.glGetBufferParameteriv(GL2.GL_ELEMENT_ARRAY_BUFFER,GL2.GL_BUFFER_SIZE,GLArrays.iarray1,0); > actualBufferSize = GLArrays.iarray1[0]; > expectedBufferSize = numberTriangles * 3 * Buffers.SIZEOF_INT; > if (actualBufferSize != expectedBufferSize) > { > return false; > } > > > I checked the standard: > > http://www.opengl.org/sdk/docs/man/xhtml/glGetBufferParameteriv.xml > > and GL_ELEMENT_ARRAY_BUFFER is a valid argument to glGetBufferParameteriv(). > I dunno, we simply pass 'public void glGetBufferParameteriv(int target, int pname, int[] params, int params_offset)' the call to the native GL impl, no wrapping or caching here. Post your platform specs .. (-> FAQ), maybe a unit test for me to pull .. so we can see how it behaves on other systems. Nevertheless it's always recommended to cache such values in your application/API layer since those GL glGet*() methods may be expensive and issue a flush/sync on the pipeline. ~Sven > Thanks > > Graham |
Hi
Below is the command-line output after running \etc\test.bat as outlined on the FAQ page. I'm using Windows and think there is a problem with the dump info. Looks like newt has to be installed before test.bat can be run. The contents of test.log is: "Error: Could not find or load main class com.jogamp.newt.opengl.GLWindow" Graham ====running test.bat==== 04/11/2011 19:48 <DIR> . 04/11/2011 19:48 <DIR> .. 16/09/2011 11:50 3,217 profile.jogl 16/09/2011 11:50 1,121 test.bat 16/09/2011 11:50 2,338 test.sh 3 File(s) 6,676 bytes 2 Dir(s) 383,760,338,944 bytes free C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>test.bat C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>set BLD_DIR=jar C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>set LIB_DIR=lib C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>set CP_ALL=.;jar\gluegen-rt.jar;jar\nativewindow.all.jar; jar\jogl.all.jar;jar\newt.all.jar C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>echo CP_ALL .;jar\gluegen-rt.jar;jar\nativewindow.all.jar ;jar\jogl.all.jar;jar\newt.all.jar CP_ALL .;jar\gluegen-rt.jar;jar\nativewindow.all.jar;jar\jogl.all.jar;jar\newt.all.jar C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>set X_ARGS="-Dsun.java2d.noddraw=true" "-Dsun.awt.noerase background=true" C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>REM java -classpath .;jar\gluegen-rt.jar;jar\nativewindow .all.jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg round=true" javax.media.opengl.awt.GLCanvas > java-win64.log 2>&1 C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>REM java -classpath .;jar\gluegen-rt.jar;jar\nativewindow .all.jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg round=true" com.jogamp.common.GlueGenVersion > test.log 2>&1 C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>REM java -classpath .;jar\gluegen-rt.jar;jar\nativewindow .all.jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg round=true" com.jogamp.nativewindow.NativeWindowVersion >> test.log 2>&1 C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>REM java -classpath .;jar\gluegen-rt.jar;jar\nativewindow .all.jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg round=true" com.jogamp.opengl.JoglVersion >> test.log 2>&1 C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>REM java -classpath .;jar\gluegen-rt.jar;jar\nativewindow .all.jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg round=true" com.jogamp.newt.NewtVersion >> test.log 2>&1 C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>REM java -classpath .;jar\gluegen-rt.jar;jar\nativewindow .all.jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg round=true" com.jogamp.newt.opengl.GLCanvas >> test.log 2>&1 C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>java -classpath .;jar\gluegen-rt.jar;jar\nativewindow.all .jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackgroun d=true" com.jogamp.newt.opengl.GLWindow 1>>test.log 2>&1 C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>type test.log Error: Could not find or load main class com.jogamp.newt.opengl.GLWindow C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc> |
Administrator
|
On Saturday, December 10, 2011 03:34:26 PM gmseed [via jogamp] wrote:
> > Hi > > Below is the command-line output after running \etc\test.bat as outlined on > the FAQ page. > > I'm using Windows and think there is a problem with the dump info. Does newt > have to installed? NEWT is included - always. I have also updates the test.* scripts in etc, however it should work if your start it as advertised: http://jogamp.org/wiki/index.php/Jogamp_Versioning_and_Releases#Runtime_Version_Check C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64> etc\test.bat ~Sven > > Graham > > ==== > > 04/11/2011 19:48 <DIR> . > 04/11/2011 19:48 <DIR> .. > 16/09/2011 11:50 3,217 profile.jogl > 16/09/2011 11:50 1,121 test.bat > 16/09/2011 11:50 2,338 test.sh > 3 File(s) 6,676 bytes > 2 Dir(s) 383,760,338,944 bytes free > > C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>test.bat > > C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>set > BLD_DIR=jar > > C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>set > LIB_DIR=lib > > C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>set > CP_ALL=.;jar\gluegen-rt.jar;jar\nativewindow.all.jar; > jar\jogl.all.jar;jar\newt.all.jar > > C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>echo CP_ALL > .;jar\gluegen-rt.jar;jar\nativewindow.all.jar > ;jar\jogl.all.jar;jar\newt.all.jar > CP_ALL > .;jar\gluegen-rt.jar;jar\nativewindow.all.jar;jar\jogl.all.jar;jar\newt.all.jar > > C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>set > X_ARGS="-Dsun.java2d.noddraw=true" "-Dsun.awt.noerase > background=true" > > C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>REM java > -classpath .;jar\gluegen-rt.jar;jar\nativewindow > .all.jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" > "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg > round=true" javax.media.opengl.awt.GLCanvas > java-win64.log 2>&1 > > C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>REM java > -classpath .;jar\gluegen-rt.jar;jar\nativewindow > .all.jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" > "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg > round=true" com.jogamp.common.GlueGenVersion > test.log 2>&1 > > C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>REM java > -classpath .;jar\gluegen-rt.jar;jar\nativewindow > .all.jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" > "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg > round=true" com.jogamp.nativewindow.NativeWindowVersion >> test.log 2>&1 > > C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>REM java > -classpath .;jar\gluegen-rt.jar;jar\nativewindow > .all.jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" > "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg > round=true" com.jogamp.opengl.JoglVersion >> test.log 2>&1 > > C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>REM java > -classpath .;jar\gluegen-rt.jar;jar\nativewindow > .all.jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" > "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg > round=true" com.jogamp.newt.NewtVersion >> test.log 2>&1 > > C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>REM java > -classpath .;jar\gluegen-rt.jar;jar\nativewindow > .all.jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" > "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg > round=true" com.jogamp.newt.opengl.GLCanvas >> test.log 2>&1 > > C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>java > -classpath .;jar\gluegen-rt.jar;jar\nativewindow.all > .jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" > "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackgroun > d=true" com.jogamp.newt.opengl.GLWindow 1>>test.log 2>&1 > > C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc>type test.log > Error: Could not find or load main class com.jogamp.newt.opengl.GLWindow > > C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64\etc> > > _______________________________________________ > If you reply to this email, your message will be added to the discussion below: > http://forum.jogamp.org/glGetBufferParameteriv-with-GL-ELEMENT-ARRAY-BUFFER-tp3573442p3575464.html > To start a new topic under jogl, email [hidden email] > To unsubscribe from jogl, visit health & wealth mailto:[hidden email] ; http://jausoft.com land : +49 (471) 4707742 ; cell: +49 (151) 28145941 Timezone CET: PST+9, EST+6, UTC+1 |
Hi
I haven't updated to your fix but you suggest it should already work if I do as stated on your website and in your reply. Here's the result: === C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64>etc\test.bat C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64>set BLD_DIR=jar C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64>set LIB_DIR=lib C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64>set CP_ALL=.;jar\gluegen-rt.jar;jar\nativewindow.all.jar; jogl.all.jar;jar\newt.all.jar C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64>echo CP_ALL .;jar\gluegen-rt.jar;jar\nativewindow.all.jar \jogl.all.jar;jar\newt.all.jar CP_ALL .;jar\gluegen-rt.jar;jar\nativewindow.all.jar;jar\jogl.all.jar;jar\newt.all.jar C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64>set X_ARGS="-Dsun.java2d.noddraw=true" "-Dsun.awt.noerase ground=true" C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64>REM java -classpath .;jar\gluegen-rt.jar;jar\nativewindow .jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg d=true" javax.media.opengl.awt.GLCanvas > java-win64.log 2>&1 C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64>REM java -classpath .;jar\gluegen-rt.jar;jar\nativewindow .jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg d=true" com.jogamp.common.GlueGenVersion > test.log 2>&1 C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64>REM java -classpath .;jar\gluegen-rt.jar;jar\nativewindow .jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg d=true" com.jogamp.nativewindow.NativeWindowVersion >> test.log 2>&1 C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64>REM java -classpath .;jar\gluegen-rt.jar;jar\nativewindow .jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg d=true" com.jogamp.opengl.JoglVersion >> test.log 2>&1 C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64>REM java -classpath .;jar\gluegen-rt.jar;jar\nativewindow .jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg d=true" com.jogamp.newt.NewtVersion >> test.log 2>&1 C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64>REM java -classpath .;jar\gluegen-rt.jar;jar\nativewindow .jar;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackg d=true" com.jogamp.newt.opengl.GLCanvas >> test.log 2>&1 C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64>java -classpath .;jar\gluegen-rt.jar;jar\nativewindow.all ;jar\jogl.all.jar;jar\newt.all.jar "-Djava.library.path=lib" "-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackgroun ue" com.jogamp.newt.opengl.GLWindow 1>>test.log 2>&1 C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64>type test.log java.lang.NoClassDefFoundError: com/jogamp/common/type/WriteCloneable at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.getMethod0(Unknown Source) at java.lang.Class.getMethod(Unknown Source) at sun.launcher.LauncherHelper.getMainMethod(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) Caused by: java.lang.ClassNotFoundException: com.jogamp.common.type.WriteCloneable at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 30 more Exception in thread "main" C:\jogl_win_amd64\libs\jogl-2.0-b41-20110916-windows-amd64> |
This is only slightly off topic but does anyone know why the exception in your last post occurs?
Caused by: java.lang.ClassNotFoundException: com.jogamp.common.type.WriteCloneable I haven't found a helpful discussion of this problem yet. |
Sorry, no sooner than I sent this off, I found the answer in this forum.
Sometimes you just have to use the right keyword. |
Administrator
|
Can you remind me how you fixed that? I assume there was a conflict with another version.
Julien Gouesse | Personal blog | Website
|
Free forum by Nabble | Edit this page |