I just thought of this and wondered if it was possible. If I had an OpenGL context that was shared between a Display and a Pbuffer, could I load data into the Pbuffer in the background while using the Display to render. That way, if I had a large open world I could load data that was getting close enough to see, so that it would be in memory once I got close enough to see it. Like I said I don’t know if this would work and it’s rather late so if I’m talking crazy, just let me know!
You forget that only one thread can own the context at a time…
Cas 
:
Oh, yeah
The way I’ve got it rigged is you can have a separate resource loading thread that loads stuff from disk into ByteBuffers. But then what it does is queue GL code up in the main thread so that I don’t need to do any fiddly thread context switching. It’s still fiddly and I’ve not really used it in anger. Er, or at all, even. The main problem being it’s usually quite difficult to know what you need to load next until the time comes when you actually need to display it. Especially as some things need to be loaded with dependencies - consider loading a GL model for example, it’ll have to bring in a bunch of textures asynchronously as well, etc, etc.
I find it generally just easier to load everything on demand and as much as feasible up front during the splash screen 
Cas 
I use this sorta thing
http://www.cokeandcode.com/code/src/render/org/newdawn/state/loading/
http://www.cokeandcode.com/code/src/render/org/newdawn/state/
which just queues up a bunch of little tasks that need loading and loads one per frame. It doesn’t make it perfect, but it does give a slightly better refresh at spash screen / load time
Didn’t Weston have a wonderfully threaded texture loader in the Shared Code section at one point?
Kev
You can do it in SPGL with another thread if you like but as you’ve noticed from the applet framework the splash screen is synchronous and just uses a callback to paint the progress bar 
Cas 
I guess loading while displaying an animation would be pointless as it would just make the loading slower. although if stuff could be loaded while the menu screen is showing then that could get rid of menu-game load times.
Well, it has it’s place in user interface design: the user should never be left waiting for something without feedback if it’s going to take more than a second or two.
Cas 