Main Menu

Cpct?

Started by AGP, September 16, 2019, 06:45:59 PM

Previous topic - Next topic

AGP

It happens immediately. No rendering, or even clearing, gets done.

EgonOlsen

So maybe it's just something that you are calling recursively by accident? Something like


callMe() {
    // callMe(null); // What you are supposed to call
    callMe(); // What you actually call by accident

}

callMe(SomeStuff stf) {
    ......
}



I tend to do these things when refactoring code, hence the idea.

AGP

I'm not doing recursion in my code. I thought maybe you had it somewhere I missed.

At any rate, I'm now porting the Worker class in an effort to fix the lighting annoyance in the SoftGLRenderer, and I came across a Thread.MAX_PRIORITY-1 assignment. MAX_PRIORITY is 10, NORM_PRIORITY is 5, and MIN_PRIORITY IS 1. So what's 9 about?

EgonOlsen

I wanted to give it a quite high priority, but not 10. If you use 10, older machines tended to execute nothing else anymore but this thread. 9 was a good compromise at the time. Today, it might not be even be needed and it might be a better idea to leave thread priorities alone anyway.

AGP

OK, now AWTGLRenderer is stuck on MODE_GRAB_SCREEN. Note that at the very beginning the frame's OnPaint() gets called and completes once. Then we get a lot of drawWireframe calls, followed by infinite MODE_GRAB_SCREENs.

Quote
ThreedCanvas.OnPaint()
ThreedCanvas.OnPaint(): Finished painting. Swapping buffers. onceList.count: 0
ThreedCanvas.OnPaint()
AWTGLRenderer.executeGL():  MODE_CLEAR: 2
AWTGLRenderer.executeGL():  MODE_SET_CAMERA: 21
AWTGLRenderer.executeGL():  MODE_SET_FRUSTUM: 0
AWTGLRenderer.executeGL():  MODE_REINIT: 23
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
drawWireframe(AWTDisplayList list, int ind): drawing with color: 255, 255, 0
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
Expanding command queue to 2000 entries!
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6
AWTGLRenderer.executeGL():  MODE_GRAB_SCREEN: 6

EgonOlsen

Grabbing the screen rendered by the AWTGLRenderer is a bit of a pain anyway, because the calling thread (the one that want to grab the image) has to trigger a repaint and then wait for the paint thread to do that. I'm not sure how this should result in an endless list of calls though. Check what happens in the AWTGLRenderer's waitForPainting() method. Maybe canvas.isVisible() returns always false in your implementation or something like that.

AGP

I'm drawing again, albeit very weird shapes (even when I created an Object3D made up of a single triangle) with AWTGLRenderer. I've noticed that you call GL.VertexPointer(), as opposed to something like GL.GenBuffer() and GL.BindVertexArray(). Is there a reason for this or is that an OpenGL version thing? Should I try the latter or is that somehow wrong in the context of the engine?

EgonOlsen

Glvertexpointer just defines the format of the vertices in the array, not the array itself. This has to be done somehow, I don't see why it should be an issue here.

AGP

#98
GL.VertexPointer must be called, you mean? Because createVertexArrays() doesn't call GL.BufferData(BufferTarget.ArrayBuffer, vertices.Length * sizeof(float), vertices, BufferUsageHint.StaticDraw). Should that not also be done? Put differently: where do you tell OpenGL to use the vertices object if not with VertexPointer()?

EgonOlsen

My bad. It also sets the pointer to the array in use. But there are no calls to bind any buffers in this case, because there are no buffers. You have to distinguish between the "normal" render pipeline and the compiled one. The compiled one uses buffers and such but the "normal" one just fills the arrays and renders them directly via glDrawArrays.

You can try to set Config.glVertexArrays to false and revert drawing to individual draw calls for each polygon. If this changes something, your vertex array handling is off. If it doesn't, something else is wrong.

AGP

#100
Look at how strange this is: renderVertexArray(), before one of its many vertPos = 0 calls, prints this even as the very wrong shapes are drawn on the screen. Model being tested here is a simple Primitives.getSphere(20f) (I'm not even sure the 9 vertices is right for a sphere).
Logger.log("renderVertexArray(): number of vertices to draw: "+vertPos +", curPos: "+curPos);
Quote
renderVertexArray(): number of vertices to draw: 9, curPos: 3
renderVertexArray(): number of vertices to draw: 0, curPos: 0
renderVertexArray(): number of vertices to draw: 0, curPos: 0
renderVertexArray(): number of vertices to draw: 0, curPos: 0
renderVertexArray(): number of vertices to draw: 0, curPos: 0
...

By the way, a guy at the Android board says he's using version 1.32. Do you have different versions for PC and Android (because I thought we were at 1.31)?

EgonOlsen

9 vertices isn't right for a sphere. In uncompiled rendering mode, the number of vertices in one batch is dynamic but 9 for a uniformly textured sphere seems off.

I've released 1.32 yesterday. It has been available for quite some time as a beta release linked to from several threads. The version number is the same between desktop and android.

AGP

Seemed way too small a number to me as well. Do you understand that printout (note that what I interpreted as number of vertices was vertPos)?

EgonOlsen

vertPos is only used for blitting, IIRC. Its value shouldn't matter here. The drawing actually happens from 0 to curPos.

AGP

How do I get the number of vertices from inside the AWTGLRenderer, then? I know how to do it with World, Mesh, etc. but I really want to see what AWTGLRenderer has to identify the current problem.