Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (757)
Games in Android Showcase (229)
games submitted by our members
Games in WIP (844)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  open world loading texture on different threads  (Read 3477 times)
0 Members and 1 Guest are viewing this topic.
« Posted 2012-08-24 03:40:30 »

I am making an open world game. I split the world into segments, 9 of which are always loaded, the player in the center. Move over a segment and I load the next apropriate segments before the player reaches them.

I wanted to do this loading on a seperate thread, but with LWJGL if I load a texture from another thread it cannot be displayed. (I don't have the error but can recreate for it. I found this was the problem from an IRC log google gave me Cheesy )

Each segment may have different textures, and may share some with other segments. Too many texture exist in total to have every single one loaded onto one atlas. If I load everything in the same thread as the rendering is done, there would be a significant pause when you reach the end of a segment. Does anyone have any experience with open worlds and streaming in world data they can share? Specifically though this thread business is my problem.
Offline davedes
« Reply #1 - Posted 2012-08-24 04:05:29 »

You can load/decode images from any thread; but you will want to upload the bytes to the GPU on the same thread as the rest of your OpenGL calls.

SlickUtil will not be a great candidate for async texture loading. Instead, I'd suggest checking out out Matthias' TextureLoader.

More importantly; how are you storing/rendering your maps? If you aren't using tiled maps (or a similar technique) then you may want to consider it. Loading a single sprite sheet at startup (and streaming "map" data) is much more efficient than decoding many large images. If all of your tiles don't fit in a few 1024x1024 textures (seems unlikely), you can organize the sprite sheets by "area" and load/unload them as necessary.

Offline Nate

« JGO Bitwise Duke »

Medals: 167
Projects: 4
Exp: 14 years

Esoteric Software

« Reply #2 - Posted 2012-08-24 06:29:20 »

libgdx has an AssetManager class which can load textures and other stuff on a separate thread. The upload is of course done on the GL thread.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
« Reply #3 - Posted 2012-08-24 17:53:13 »

I am using tiles, currently for creating maps I have a map editor which just stores a texture per tile and I'm just binding each texture for each tile as its only a map editor for me. I think I'll have a go with libgdx though, looks really nice. Thanks to you both
« Reply #4 - Posted 2012-09-02 22:02:04 »

Does anyone know why my LWJGL window automatically resizes whenever the window is reselected after it has been minimized? Can't find anything in the Display docs
Pages: [1]
  ignore  |  Print  

EgonOlsen (75 views)
2018-06-10 19:43:48

EgonOlsen (56 views)
2018-06-10 19:43:44

EgonOlsen (76 views)
2018-06-10 19:43:20

DesertCoockie (256 views)
2018-05-13 18:23:11

nelsongames (155 views)
2018-04-24 18:15:36

nelsongames (155 views)
2018-04-24 18:14:32

ivj94 (896 views)
2018-03-24 14:47:39

ivj94 (157 views)
2018-03-24 14:46:31

ivj94 (809 views)
2018-03-24 14:43:53

Solater (173 views)
2018-03-17 05:04:08
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!