- Not sure, try using a profiler to detect where the slowdown is.
- Is the terrain being done with multiple textures? Could be that you have state bleeding because you forgot an updateRenderStates.
- Also sounds like an updateRenderStates issue… or could be bad normals (try drawing them with the Debugger.)
Thanks Renanse. I'll try to call updateRenderState on the entire world branch rigth after the scene graph has been created, and then check what happens. As for the normals, could it be caused by the incredibly bad 3ds max plugin I'm using to export to OBJ files?
Maybe… also check the shininess on your materials. I've know some exporters/importers to disagree about which side of the scale means "super shiny"
I think I'm getting to the source of this. Some time ago I switched from 3ds max 6 to 3ds maxx 2009. Because I didn't change my models I didn't have to re-export them for a long time. But, because JME 2 is not compatible with the old .jme file format, I re-exported my models as .obj. It seems that these files that are produced by 3ds max 2009 are causing problems in JME. After profiling it turns out that the thing that is slowing everything down is…picking! This was actually quite fast before, so I think that the new .obj are extremely inefficient.
The one thing that I'm clueless about is the appearance of the wheels. After looking carefully, I know what's going on with the lighting. Normally when you see the wheel it would have some shiny spot on the top, caused by the sun (or in case of JME, my directional light). However, when the wheel rotates in JME 2 the shiny spot rotates as well with it! Because the wheels rotate so fast I misunderstood this at first. I already call updateGeometricState() every frame on the root node, so I don't know any other way to force the updating of this.