[Never mind...] Weird updateGeometricState problem

Using RC2 non-nightly. Tried rendering a few off-screen images but I get an error message saying geometry has been updated from another thread. This used to work great tho (a few months ago), and the viewport contains one single node that is not attached to anything else then the current viewport, and the very last call before the renderManager.render call is node.updateGeometricState(). There’s nothing happening in between those calls.

Now I’m bug searching, to find out why, but I believe updateGeometricState() in the Node class does not work as intended. The object may pass with refreshFlags != 0, as the assertion doesn’t work (i.e. doesn’t throw an assertion exception). I saw numerous times refreshFlags were 4 and 7, yet it did not cause an exception. Also this is pretty weird, since after an updateGeometricState-call, shouldn’t it be 0 regardless of whether or not the assertion works? I check the node in the debugger right after the updateGeometricState-call, and the flags aren’t 0.

Anyone know anything about this?

well first of all since you mention assertions? do you run with -ea? to actually enable them? Maybee that will help you debugging.

Seems light related. Everything but the lights drops their flags. It’s always 4 when the assertion is made. I wonder if it has something to do with the light list having no elements. Gonna keep digging.


No I don’t, I didn’t know you had to. Pretty cool, like a poor-mans version of debug/relase modes.

Damn… it is not the lights themselves, but that’s the check that fails. I must have screwed up this big time. Imported the model now fresh and try again. Still weird.

Please disregard this post, there’s no way I can get help because there are so many different things I’ve changed in the app I can’t account for them all here. Gonna have to narrow it down a lot.

Nice, found the problem. I am using blender importer now. Those models are nodes within nodes by default, and i circumvented it by setting the (only) child of each model as the real model node automatically when adding the model to a tree-layer. I didn’t detach it from the parent tho, and it didn’t cause any issues because the model is never actually rendered, only used in a customized batching routine. Rendering the model in the offscreen viewport caused the light list to mess up because the modified model was the rootnode there, but also had a useless parent that wasn’t even in the scene. Weird…