just render the loading screen in opengl On Aug 18, 7:56 am, Jason <[email protected]> wrote: > Hi all, > > I'm trying to find the best way to implement a "loading screen" when > using a GLSurfaceView. > > Basically the situation is this: > > The app (game) loads a bunch of textures into VRAM when the GL surface > is created (onSurfaceCreated), however these textures are only for the > current "level" of the game. When the player reaches the end of the > level I need to remove these textures from VRAM and load the new ones. > > Previously (during development) each level was a complete load/unload > of the Activity, which works fine, however this creates a bunch of > unnecessary overhead as I don't need to reload the world for a simple > level progression. So I have been experimenting with different ways > to overlay a standard view (which is my "loading" screen) over the top > of the GLSurfaceView while the level data is loaded. > > This has created some problems for me: > > 1. Because the GLSurfaceView is not actually destroyed, the > onSurfaceCreated call is only made once and hence the opportunity to > load textures is gone. To overcome this, I have introduced a flag > into the Renderer thread which will load up the textures in the first > call to onDrawFrame after the level is loaded. I don't particularly > like this, but can't seen any other solution. > > 2. I don't seem to be able to find a way to effectively "switch views" > in my Activity. I initially set the view (setContentView(...)) to the > loading screen (i.e NOT the GLSurfaceView), then the actual level load > is done asynchronously and when complete calls back to the main > activity thread which then performs a second call to setContentView() > with the GLSurfaceView instance. This works the first time, but > thereafter I can't seem to get the loading view to become visible. If > I use setVisibility(View.VISIBLE) on the loading view it doesn't > display, and if I perform a further call to setContentView() my > GLSurfaceView never comes back... that is, after subsequently calling > setContentView with the GLSurfaceView I get nothing displayed... no > errors, but my loading screen basically never disappears. > > So.. does anyone out there have a good approach to solving this? That > is, how to best implement a loading screen to "hide" the process of > bootstrapping opengl resources etc. > > Thanks!
-- 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

