Has anyone seen something like this before:
Exception in thread "main" java.nio.BufferOverflowException
at java.nio.Buffer.nextPutIndex(Buffer.java:419)
at java.nio.DirectFloatBufferU.put(DirectFloatBufferU.java:232)
at com.xith3d.scenegraph.GeomNioFloatData.setFloats(GeomNioFloatData.java:169)
at com.xith3d.scenegraph.GeomContainer.setCoordinate(GeomContainer.java:564)
at com.xith3d.scenegraph.Billboard.updateData(Billboard.java:196)
at com.xith3d.scenegraph.GeomContainer.updateData(GeomContainer.java:625)
at com.xith3d.scenegraph.Billboard.newFrame(Billboard.java:116)
at com.xith3d.scenegraph.View.renderNode(View.java:1081)
at com.xith3d.scenegraph.View.renderNode(View.java:1015)
at com.xith3d.scenegraph.View.renderNode(View.java:1015)
at com.xith3d.scenegraph.View.renderNode(View.java:968)
at com.xith3d.scenegraph.View.renderNode(View.java:1015)
at com.xith3d.scenegraph.View.renderNode(View.java:1015)
at com.xith3d.scenegraph.View.renderNode(View.java:1015)
at com.xith3d.scenegraph.View.renderNode(View.java:1015)
at com.xith3d.scenegraph.View.renderNode(View.java:1015)
at com.xith3d.scenegraph.View.renderNode(View.java:1015)
at com.xith3d.scenegraph.View.renderNode(View.java:1015)
at com.xith3d.scenegraph.View.renderNode(View.java:1015)
at com.xith3d.scenegraph.View.renderNode(View.java:1015)
at com.xith3d.scenegraph.View.getRenderFrame(View.java:824)
at com.xith3d.scenegraph.View.renderOnce(View.java:717)
at com.xith3d.scenegraph.View.renderOnce(View.java:655)
I have about 30 models in my scene, each with a billboard thats used to label them. I think this is the 3rd or 4th time this error has occurred over the last 3 weeks. I’m not sure what causes it but it seems to be linked occur when I move models around in the scene. The rendering loop looks like this:
/**
* Starts the rendering loop.
*/
public void start() {
while(true) {
// Handle layers, transforms, behavior, mouse, keyboard here
// Picking interactions
synchronized(pickParamsMutex) {
if(mousePressed) {
PickRenderResult[] results = pick();
... set the selected node ...
mousePressed = false;
}
}
... do camera stuff ...
view.renderOnce();
}
}
Dragging a model with the mouse updates the models location transform which is the subtree that also contains the Billboard (offset from the model by some amount). Any ideas?