Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SFML/Graphics.hpp>
- #include <SFML/OpenGL.hpp>
- sf::Mutex g_mutex;
- void load_texture( void* arg ) {
- sf::Image image;
- image.create( 64, 64, sf::Color::Green );
- g_mutex.lock();
- sf::Texture* texture = reinterpret_cast<sf::Texture*>( arg );
- texture->loadFromImage( image );
- glFlush();
- g_mutex.unlock();
- }
- int main() {
- sf::RenderWindow window( sf::VideoMode( 800, 600 ), "Test" );
- sf::Texture texture;
- sf::Clock timer;
- bool loaded = false;
- {
- sf::Image image;
- image.create( 64, 64, sf::Color::Red );
- texture.loadFromImage( image );
- }
- sf::Sprite sprite( texture );
- sf::Thread thread( &load_texture, &texture );
- while( timer.getElapsedTime() < sf::seconds( 3 ) ) {
- if( !loaded && timer.getElapsedTime() > sf::seconds( 1 ) ) {
- loaded = true;
- thread.launch();
- }
- g_mutex.lock();
- window.clear();
- window.draw( sprite );
- window.display();
- g_mutex.unlock();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement