Author Topic: Cpct?  (Read 13400 times)

Offline AGP

  • quad
  • ******
  • Posts: 1719
    • View Profile
Re: Cpct?
« Reply #90 on: February 22, 2021, 03:04:38 pm »
It happens immediately. No rendering, or even clearing, gets done.

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12219
    • View Profile
    • http://www.jpct.net
Re: Cpct?
« Reply #91 on: February 23, 2021, 09:00:33 am »
So maybe it's just something that you are calling recursively by accident? Something like

Code: [Select]
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.

Offline AGP

  • quad
  • ******
  • Posts: 1719
    • View Profile
Re: Cpct?
« Reply #92 on: February 25, 2021, 01:50:34 am »
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?

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12219
    • View Profile
    • http://www.jpct.net
Re: Cpct?
« Reply #93 on: February 26, 2021, 08:37:43 am »
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.

Offline AGP

  • quad
  • ******
  • Posts: 1719
    • View Profile
Re: Cpct?
« Reply #94 on: March 05, 2021, 09:17:46 am »
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

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12219
    • View Profile
    • http://www.jpct.net
Re: Cpct?
« Reply #95 on: March 05, 2021, 01:56:19 pm »
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.

Offline AGP

  • quad
  • ******
  • Posts: 1719
    • View Profile
Re: Cpct?
« Reply #96 on: March 23, 2021, 06:35:12 pm »
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?

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12219
    • View Profile
    • http://www.jpct.net
Re: Cpct?
« Reply #97 on: March 23, 2021, 11:13:07 pm »
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.

Offline AGP

  • quad
  • ******
  • Posts: 1719
    • View Profile
Re: Cpct?
« Reply #98 on: March 24, 2021, 12:42:32 am »
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()?
« Last Edit: March 24, 2021, 02:52:57 am by AGP »

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12219
    • View Profile
    • http://www.jpct.net
Re: Cpct?
« Reply #99 on: March 24, 2021, 07:12:20 am »
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.

Offline AGP

  • quad
  • ******
  • Posts: 1719
    • View Profile
Re: Cpct?
« Reply #100 on: March 25, 2021, 03:04:28 am »
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).
Code: [Select]
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)?
« Last Edit: March 25, 2021, 07:53:35 am by AGP »

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12219
    • View Profile
    • http://www.jpct.net
Re: Cpct?
« Reply #101 on: March 25, 2021, 08:09:36 am »
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.

Offline AGP

  • quad
  • ******
  • Posts: 1719
    • View Profile
Re: Cpct?
« Reply #102 on: March 25, 2021, 08:22:44 am »
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)?

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12219
    • View Profile
    • http://www.jpct.net
Re: Cpct?
« Reply #103 on: March 25, 2021, 08:47:26 am »
vertPos is only used for blitting, IIRC. Its value shouldn't matter here. The drawing actually happens from 0 to curPos.

Offline AGP

  • quad
  • ******
  • Posts: 1719
    • View Profile
Re: Cpct?
« Reply #104 on: March 25, 2021, 09:00:59 am »
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.