メインスレッドでウィンドウイベントループを実行し、他のすべてを別のスレッドで実行したいと考えています。
ループは次のようになります。
void loop(sf::RenderWindow& window)
{
//I need the context here
while (window.isOpen())
{
//Do stuff here
}
}
int main()
{
sf::RenderWindow window(...);
std::thread lthread(&loop, std::ref(window));
while (window.isOpen())
{
sf::Event event;
while (window.waitEvent(event))
{
//Handle events
}
}
lthread.join();
}
コンテキストのスレッドを切り替えるにはどうすればよいですか?