Thanks Lance, that's very useful! - Dan
On Sep 1, 5:25 pm, Lance Nanek <[email protected]> wrote: > The Javadoc for the OpenGL ES API does a good job explaining why you > can't use wrapped arrays for everything: > > >http://download.oracle.com/javame/config/cldc/opt-pkgs/api/jb/jsr239/... > > Because these functions do not consume the data located at the given > > pointer immediately, but only at some unspecified later time, it is not > > possible to use an array since the Java virtual machine may relocate the > > array within system memory. > > But if you really want hardware details, here's a nice document for > the type of graphics in the > Droid:http://www.imgtec.com/factsheets/SDK/POWERVR%20SGX.OpenGL%20ES%202.0%... > > There's lots of stuff for older chips like the MSM7200 in the G1 out > there as well, although you may have to look in a BREW oriented > document or two to find it. > > On Sep 1, 7:31 pm, Samsyn <[email protected]> wrote: > > > > > So, I've been a good boy (I think) and used ByteBuffers (and > > ShortBuffers and IntBuffers etc) for all the vertex lists and textures > > I feed to GLES. > > > But can someone point me to the basic architecture of the 'typical' > > mobile GPU (or, I guess, the OpenVR Droid GPU at least). For example, > > does a mobile GPU have its own texture/buffer memory, or does it > > always share 'system memory' ? > > > If it's going to copy the data I give it into 'gpu ram' anyway, then > > have I just added another buffer in the bucket brigade of memory when > > I use a ByteBuffer? > > > GLES seems perfectly happy using a direct java array for the data, but > > I imagine that does nasty things like locking memory when the GPU > > touches it, when maybe memory outside the garbage collection heap > > doesn't have that problem (and just gets leaked when I mis-manage > > it :-) > > > I can't say that I see any performance difference between using > > ByteBuffers or just direct java arrays. But most of my meshes (and > > all of my textures) are created just once. But some meshes (for > > example, particles) get regenerated every frame. And for that, I do > > the math in a java array and then allocateDirect a suitable > > <whatever>Buffer before passing it to GLES. That smells really awful > > to me and I guess I am just wondering how big a sin it would be to not > > use <whatever>Buffers for these dynamic meshes? > > > I guess I just feel like I am flying blind without some GPU > > documentation to look at.- Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

