Warsztat.GD

Produkcja gier => Grafika 2D => Wątek zaczęty przez: mar3 w Lipiec 22, 2011, 13:37:45

Tytuł: [sfml]tworzy mi się obwódka do obrazków
Wiadomość wysłana przez: mar3 w Lipiec 22, 2011, 13:37:45
Wczytuję obraz .png i nie wiem dlaczego tworzą mi się czarne kreski u góry i z lewej strony. Zrobiłem w paint.net bialy prostokat z napisem i tez sfml zrobil te kreski. Jak sobie z tym poradzic?
http://www.programy.cal.pl/obrazki.zip (http://www.programy.cal.pl/obrazki.zip) - obrazki o których pisałem
IDE: Microsoft Visual C++ 2010 EE
Biblioteka: SFML 1.6
Sprawdziłem na komputerze i na laptopie wszędzie jest tak samo.

Komputer:
OS: Win 7 Pro x64
Karta Graficzna(niezintegrowana): nVidia GeForce 9500 GT

Laptop:
OS: Win xp Home x32
Karta Graficzna(niezintegrowana): nVidia GeForce Go 7300

Kod:sf::Image play_img;
sf::Sprite play;
if(!play_img.LoadFromFile("Data/nowa_gra.png"))
{
MessageBox(NULL, (LPCWSTR)L"Błąd. Brak pliku obrazka!", (LPCWSTR)L"Brak pliku", MB_ICONERROR | IDOK);
oknoAplikacji->Close();
return false;
}
play.SetImage(play_img);
//...
oknoAplikacji->Draw( play );
Tytuł: Odp: [sfml]tworzy mi się obwódka do obrazków
Wiadomość wysłana przez: DamorK w Lipiec 22, 2011, 14:14:20
A spróbuj zrobić taki myk:
play_img.Bind();
#define GL_CLAMP_TO_EDGE    0x812F
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
play.SetImage(play_img);
//...

Oczywiście trzeba dołączyć też nagłówek opengla. Możesz też skompilować sobie SFML2 i w nim robić, bo jeśli dobrze pamiętam to on używa już GL_CLAMP_TO_EDGE. Powinno pomóc
Tytuł: Odp: [sfml]tworzy mi się obwódka do obrazków
Wiadomość wysłana przez: mar3 w Lipiec 22, 2011, 14:32:01
Dzięki za pomoc już sobie poradziłem wystarczyło wyłączyć antyaliasing.