jME Terra development thread

Argh, so little time again. And my computer actually got stolen. Just have this laptop now, which is more than capable of running jME, but doesn't have your changes on it it, so the prism feel free to put some source online yourself, as far as I can remember I'm fine with your changes.



Heevee, never had a deadlock problem myself. You can't see at which method the main thread is frozen? (using regular debugging)



The decompression phase uses old style Thread.pause()/resume() methods, which could cause all kinds of deadlocks (but really shouldn't in this case!). This is controlled from SimpleTerraView

change to TaskRunner runnerDecompresser = new PausingThreadTaskRunner(1, true, true, true);

from

TaskRunner runnerDecompresser = new PausingThreadTaskRunner(1, false, true, true);

Awesome! I never hoped for a quick and easy solution to this problem, but your suggestion seems to fix it! For now, that is… the one thing I know about threading issues is that they tend to come back when you least expect it :slight_smile:

Sorry to hear about your computer, I hope that at least there's not too much damage done data-wise…

BTW, I made a TerrainBlock-style interpolating getSurfaceNormal() method in my local copy of TerraMesh (heh, actually I kinda copied the method from TerrainBlock :D)  and could "donate" that. I also made a change to TerraView.update(), in order to have it wrap TerraMeshes into a Node in a protected method, so I can use the system with my  TextureSplattingNode. That could go in too, if anybody thinks it would be useful.

Showcase: Terra editor :) 

http://www.jmonkeyengine.com/jmeforum/index.php?topic=5641.new#new

It's a bit specific to my own kind of world setup, so I won't be able to contribute this without some refactoring, but eventually, I will get there. Promised!

hevee said:

Awesome! I never hoped for a quick and easy solution to this problem, but your suggestion seems to fix it! For now, that is... the one thing I know about threading issues is that they tend to come back when you least expect it :)
Sorry to hear about your computer, I hope that at least there's not too much damage done data-wise...
BTW, I made a TerrainBlock-style interpolating getSurfaceNormal() method in my local copy of TerraMesh (heh, actually I kinda copied the method from TerrainBlock :D)

Excellent all. Good to see progress.



Back from Holdiays now so can do more on it.



Rather than go via svn, what are the thoughts on having it added to JME directly. It may cut out the middle bit.



Thoughts are that we need to do some docs and clean it up a little bit.

I would like to help, at least with the documentation, but tomorrow I will leave to Leicester. I will be back home 29 agust.

sorry to hear about your laptop. On holdiay had realised that although i have 2 physical disks in the dev PC, i hadnt got a backup of my work for the last 6 montsh safe anywhere - rang up a relative to take make a backup on cd of my data just in case …

It was my desktop actually… thankfully I had my laptop with me at the time.

Hevee, do you fancy just adding a quick procedural texture generated test. It is on my to do list, but as you have progressed to texturing, it may be more appropiate that i do some more docs instead.

I don't think I should do that - my way of applying textures right now is rather dumb - I just wrap the TerraMesh into a Node right after it'S creation, and then immediately load and apply the textures. That's not very smart, I guess, because it blocks the render thread for mipmap generation. So I wouldn't consider my current way of doing things exactly "best practise", which an "official" test should definitely be.

I had seen some preparations for a better way of texture loading, properly utilizing the terra multithreading framework, and was kinda hoping for you to finish it eventually so I can rip it off for my texture splatting :smiley:

Ok, ill put one in.



Also tempted to add a ConcurrentQueue implementation, think the threading will be alot clearer that way.



Ill do the textures first, post the code, then the threading

Hi treilhes, and everyone…



Sorry I don't have time to look right now. Not sure what you mean exactly, but the fact that blocks (the smaller size "tiles" that contain geometry) overlap "maps" (the bigger size tiles containing map data) means that the "outer" blocks usually don't work, since they kind of hang over the edge og the outer maps, into nothingness.



Despite my lack of time, I did manage to convince my laptop (which actually has a Geforce 6800 in it) to finally install some OpenGL drivers capable or running jME. Hevee: that also means I saw your single player demo, looks good :slight_smile:



As for logging, I think we should stick to jME logging which has just been improved in jME CVS… but since I'm no longer the only developer for this, what do the rest of you think?



As for the SVN/CVS situation, if any of you is willing to set something up (even if it's just temporary (eg at Google Code)), and pass out some accounts to those who need if, feel free to do that.


llama said:

Despite my lack of time, I did manage to convince my laptop (which actually has a Geforce 6800 in it) to finally install some OpenGL drivers capable or running jME. Hevee: that also means I saw your single player demo, looks good :)

Good to know it works, thank you! Having OpenGL drivers fixing the problem leaves me rather puzzled though, all the fancy stuff is in the editor, and I know you've seen that already... but enough of this, it's rather OT I guess.

llama said:

As for logging, I think we should stick to jME logging which has just been improved in jME CVS.... but since I'm no longer the only developer for this, what do the rest of you think?

Definitely stick with jul, like the rest of jME.

llama said:

As for the SVN/CVS situation, if any of you is willing to set something up (even if it's just temporary (eg at Google Code)), and pass out some accounts to those who need if, feel free to do that.

Theprism, do you have time for that? I guess I could set something up, but since you are currently working on texture loading, you'll probably have the latest version on your hd anyway?

Havent managed to touch a line of code on the terra for a month now …



JME logging is good



What are the thoughts of getting it into a the jme release candidate 2, or is it prefered to keep it seperate.

theprism said:

Havent managed to touch a line of code on the terra for a month now ....

I guess that leaves me with the most recent copy. Fortunately, I even have some time later today, I'll start a google code project then.

Check out http://jmeterra.googlecode.com/, and let me know your Gmail account usernames so I can add you to the project!

wow, your quick



theprism2@googlemail.com

I got "no such user" for theprism2@googlemail.com, so I took theprism2@gmail.com instead. Can you check if it works?

yep - thats good…

I have a "Google Account": tijl@splendo.nl



I might need a proper gmail account though?