Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML 2.0] Problem z sf::RenderTexture - Unhandled exception

Ostatnio zmodyfikowano 2015-01-21 20:45
Autor Wiadomość
Glazus
Temat założony przez niniejszego użytkownika
[SFML 2.0] Problem z sf::RenderTexture - Unhandled exception
» 2015-01-19 00:23:40
Witam!

Od jakiegoś czasu piszę grę (można ją znaleźć w nasze prace). Natknąłem się jednak na pewien problem. Udało mi się go zlokalizować, wrzucam minimalny kod przy którym on występuje:
C/C++
#include <SFML/Graphics.hpp>

int renderTest( sf::RenderWindow & Window )
{
    sf::RenderTexture test;
    test.create( 800, 600 );
   
    Window.clear( sf::Color::White );
    Window.display();
   
    return 0;
}

int function( sf::RenderWindow & Window )
{
    while( Window.isOpen() )
    {
        Window.clear( sf::Color( 0, 0, 0 ) );
        sf::Event ev;
        while( Window.pollEvent( ev ) )
        {
            if( ev.type == sf::Event::KeyPressed && ev.key.code == sf::Keyboard::Return )
                 renderTest( Window );
           
        }
        Window.display();
    }
    return 0;
}

int main()
{
    sf::RenderWindow Window( sf::VideoMode( 800, 600, 32 ), "RenderTextureError", sf::Style::Fullscreen );
    while( function( Window ) == 1 ) { }
   
    return 0;
}
Problem występuje z powodu
sf::RenderTexture
. Wnioskuję to po tym, że jeżeli wywalę linijkę
test.create( 800, 600 );
 to program działa (no... nie crashuje się - powyższy kod nic tak naprawdę nie robi).

W tym momencie program wywala się po wyjściu z
renderTest()
. Dostaję komunikat:
Unhandled exception at 0x024aea37 in SFML1.exe: 0xC0000005: Access violation reading location 0x0000001c.

Nie mam pojęcia co na to poradzić. Jeżeli uruchomię aplikację w oknie (czyli wywalę
sf::Style::Fullscreen
) to działa poprawnie.

Podejrzewam, że może mieć to związek z moją kartą grafiki (a raczej jej brakiem - zintegrowany Intel HD) i sterownikami. Jakiś czas temu zmieniałem sterowniki. Głowy sobie uciąć nie dam, ale chyba wtedy zauważyłem ten problem (gdyż kod który wczesniej działał, teraz w magiczny sposób przestał).

Więc pytanie - czy da się jakoś uratować sytuację, czy jest to wina grafiki i trzeba się pogodzić z trudnościami jakimi raczy nas Intel?
P-125174
DejaVu
» 2015-01-21 11:57:35
P-125294
Glazus
Temat założony przez niniejszego użytkownika
» 2015-01-21 12:38:57
Hmm... Linkowany temat niespecjalnie odpowiada na mój problem. A próbował ktoś podany przeze mnie kod kompilować? Czy moje podejrzenia odnośnie winy karty i jej sterowników są słuszne?
P-125295
DejaVu
» 2015-01-21 20:45:39
U mnie działa ten kod, który wstawiłeś, choć drugi monitor również mruga, a nie powinien. Tyle, że ja mam wszystkie biblioteki skompilowane ze źródeł jednym kompilatorem.
P-125339
« 1 »
  Strona 1 z 1