Witam,
mam problem z sf::RenderWindow w SFML 2.1. Podczas próby uruchomienia poniższego kodu co jakiś czas w oknie aplikacji pojawiają różne "przebicia" innych okien w systemie bądź obiektów wyświetlanych w samym oknie aplikacji. Ich położenie jest różne. Problem występuje niezależnie od tego czy program jest uruchamiany z poziomu IDE czy normalnie z menedżera plików. Problem nie występuje gdy nie próbuję wyświetlać tej textury (nie wywołuję draw(sprite) bądź nie podepnę jej w ogóle do sprite).
Przykładowy kod:
sf::RenderWindow window(sf::VideoMode(800, 600), "Example");
sf::Texture texture;
texture.create(800, 600);
sf::Sprite sprite(texture);
window.clear(); // dodane
texture.update(window); // dodane
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
switch(event.type)
{
case sf::Event::Closed:
window.close();
break;
default:
break;
}
}
window.clear();
window.draw(sprite);
window.display();
}
Przykładowy rezultat:
Platforma na jakiej kompiluję to:
Linux version 3.8.0-19-generic (buildd@allspice) - Linux Mint 15 Olivia 64bit
gcc version 4.7.3
SFML 2.1 kompilowany ze źródeł.
Na początku sądziłem, że może to być problem z libGLEW więc kompilowałem SFML'a z róznymi wersjami GLEW'a (początkowo 1.8, następnie 1.10 i w końcu 1.7). Niestety był to raczej chybiony strzał bo nic nie pomogło. Nie wiem czy moje problemy wynikają z nieumiejętnego użycia biblioteki, błędnej konfiguracji czy samym systemem.
Przy okazji wspomnę o jeszcze jednym problemie, mianowicie przekonaniu SFML'a do działania na Windows 7 64bit. Na wersji 32 bitowej nie mam problemów - po skompilowaniu SFML'a (korzystam z TDM'a). Gotowe paczki ze strony projektu niestety nie działają poprawnie, to znaczy nie pokazuje mi się okno aplikacji - widoczny jest tylko titlebar. W wersji 32 bitowej kompilacja ze źródeł pomaga jednak w drugiej wersji dalej okno się nie buduje. Czy ktoś spotkał się z podobnymi sytuacjami i mógłby posłużyć mi radą ?
pozdrawiam.
edit:
Najwidoczniej zabrakło update na texturze. W sf::Texture były śmieci i je wywalało na ekran. Powyższy kod jest uproszczeniem na potrzeby tematu. Problem zauważyłem w bardziej rozbudowanym projekcie i pewnie w nim pominałem gdzieś tego update'a. Kod w temacie również poprawiłem.
Nadal jednak pozostaje otwarty problem SFML'a na windows 7 64 bit.