That's good to hear.
Thank my teacher, he's the one that told me... I didn't believe him.. Then I spent an entire night tracking down the bug. Great spending time on that when you are to leave in the project for producer estimation 9 o'clock in the morning.
When you want a thread to block until a flag is set by another thread, you need a wait condition. A while loop with sleep is an inefficient workaround. I have no idea if it applies to your design, or if it's just your example.
Hmm well I'll get to that point when I need it. The renderer will be aimed specifically for use together with rbSFML(That's why threading here is important, trying to avoid the GIL).
About your texture problems: one thing that I've learnt is that sometimes you need an explicit glFlush after uploading texture data if you want other threads to see the update immediately.
I tried placing out some flushes but got no improvement. It still displays only the first original texture. I wasn't planning on using this design but I just wanted to compare this against using a blocking reference(how I do in the first example) and compare it also against double buffered.
Actually getting quite off-topic here. Should I create a new thread?
NOTE: Verified that it's based on the texture is rendered in a separate thread. Did the same thing with a single thread and it behaved like intended.
Fun fact: I tried out my engine with simple drawings in debug mode on my university computer.... Got 4 000+ FPS on that machine... And the CPU is not maxed out, did you complete the OpenGL call optimizations yet? In any case it's damn fast
This computer only went for around ~800 Euro. If you haven't then I really want to know what I'll get after that commit. I should start writing out the frame/update time instead of FPS if it's at these speeds. Should look much more stable.