MrPoxipol Temat założony przez niniejszego użytkownika |
» 2013-07-11 00:24:24 Dlatego stworzyłem odpowiednią klasę MapView, unikam dzięki temu takich byków. Gdy uzyje tej klasy w normalnym oknie sfml, wszystko jest OK. |
|
DejaVu |
» 2013-07-11 00:29:49 AAaaaaaaa! :D Przecież nie tworzysz okna za pomocą API SFML-a więc pewnie zamiast mieć zakres wartości 0..800 x 0..600 masz zakres wartości 0..1 x 0..1 i... rysuje Ci lewy górny piksel pierwszego sprajta :) |
|
MrPoxipol Temat założony przez niniejszego użytkownika |
» 2013-07-11 08:00:25 Hm..No to jak to zmienić? ;) |
|
DejaVu |
» 2013-07-11 10:30:19 Hm... chyba się wzorowałeś na tym: http://en.sfml-dev.org/forums/index.php?topic=8267.0W powyższym przykładzie wywołania nieco inaczej wyglądają: gtk_widget_realize( area->gobj() );
Spróbuj przekopiować cały przykład z powyższej strony i sprawdź czy wyświetli Ci jakąkolwiek teksturę poprawnie. Win.create( sf::WindowHandle( GDK_WINDOW_HWND( area->window ) ) );
Ja bym drążył tą linijkę. Może HWND podajesz złe, a może nie ustawiłeś dla podanego HWND poprawnego rozmiaru okna (bo np. robisz to w sposób zły). Spróbuj również zaraz za wspomnianą wyżej linijką wypisać na konsoli Win.getSize() lub coś podobnego, aby sprawdzić jakim rozmiarem okna SFML został zainicjowany. |
|
MrPoxipol Temat założony przez niniejszego użytkownika |
» 2013-07-11 11:42:07 Wzorowałem się na innym tutorial'u, ale to mniej ważne. Standardowo okno ma rozmiar 1x1(sprawdziłem przez getSize(), ale nawet jak ustawie rozmiar ręcznie to dalej dzieje się tak samo. Przykładu z tej strony co dałeś nie sprawdzę, bo używam GTK+, a tam używają gtkmm. Z tego przykładu Tu będzie link jak znajde ten tut., na którym się opierałem była linijka z tworzeniem okna z uchwytu gdk, lecz Win.create( GDK_WINDOW_HWND( area->window ) ) powoduje błąd przy kompilacji: main.cpp: In function 'int main(int, char**)': main.cpp:64:45: error: invalid conversion from 'HGDIOBJ {aka void*}' to 'sf::WindowHandle {aka HWND__*}' [-fpermissive] In file included from D:\C++\lib\SFML-2.0\include/SFML/Window.hpp:40:0, from D:\C++\lib\SFML-2.0\include/SFML/Graphics.hpp:32, from main.cpp:2: D:\C++\lib\SFML-2.0\include/SFML/Window/Window.hpp:141:10: error: initializing argument 1 of 'void sf::Window::create(sf::WindowHandle, const sf::ContextSettings&)' [-fpermissive]
więc rzutuje na sf::WindowHandle. |
|
DejaVu |
» 2013-07-11 12:15:55 No to wiesz już w czym problem - okno prezentuje Ci kontekst openGL-a w rozmiarze 1x1 :) Jak to naprawisz to będzie działało. |
|
m4tx |
» 2013-07-11 12:32:33 nie sprawdzę, bo używam GTK+, a tam używają gtkmm |
Cóż to za problem "przetłumaczyć" kod gtkmm na kod GTK+? Przecież gtkmm to tylko binding na GTK+... :) |
|
MrPoxipol Temat założony przez niniejszego użytkownika |
» 2013-07-11 13:33:51 Hm, a więc jak mam zmienić rozmiar tego kontekstu? Szukam, trudno coś znaleźć, a ekspertem OGL'a nie jestem ;)
Co do sprawdzania na gtkmm, to musiałbym tylko do testu instalować kolejne biblioteki i konfigurować, a na Windows'ie nie jest tak wygodnie jak na Linuxie :P |
|
1 « 2 » 3 4 |