SFML: Многопоточная отрисовка Спрайтов

Подскажите пожалуйста, как отрисовать спрайт, с использованием потоков в SFML?

Пример того, что я пытался сделать:

#include <iostream>
#include <SFML/Graphics.hpp>
#include <SFML/Audio.hpp>
#include <thread>
#include <mutex>

using namespace sf;
using namespace std;
mutex _lock;

void th_do(RenderWindow window, Sprite example)
{
    _lock.lock();
    
    window.draw(example);

    _lock.unlock();
}


int main()
{
Texture tExample;
tExample.loadFromFile("example.png");

Sprite example(tExample);

RenderWindow window(VideoMode(1920, 1080), "1");
Event event;
while (window.isOpen())
{
    window.clear(Color(170, 180, 190, 0));
    while (window.pollEvent(event))
    {
        if (event.type == Event::Closed) {
            window.close();
        }

    }
    
    thread my_thread(th_do, window, example);
    my_thread.join();
    
    window.display();
}

return 0;
}

Ответы (0 шт):