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

[SFML] Trzęsienie się sf::Sprite gdy powinien tkwić w bezruchu.

Ostatnio zmodyfikowano 2013-09-18 16:33
Autor Wiadomość
DejaVu
» 2013-09-17 23:51:51
Sprawdź to:
C/C++
app.clear( sf::Color::black );
app.display();
app.clear( sf::Color::blue );
while( app.isOpen() )
     app.display();

:)
P-92280
akwes
Temat założony przez niniejszego użytkownika
» 2013-09-18 00:17:59
No tak, robi się dyskoteka ;) Tylko nie wiem jaka z tego płynie nauka ;>?

Nauka płynie z tego taka, aby w każdej pętli czyścić i wyświetlać okno. Dzięki DejaVu :)

@MrPoxipol, sprawdź czy u siebie nie masz podobnej wpadki bo to najwyraźniej nie ma wiele wspólnego z pozycją sprajta ;)
P-92282
DejaVu
» 2013-09-18 00:47:18
Dyskoteka wynika z tego, że:
1. OpenGL używa podwójnego buforowania
2. Podwójne buforowanie jest zrealizowane poprzez zmianę bloku pamięci do którego scena ma być renderowana
3. Wywołanie metody app.display() zmienia numer wyświetlanego bufora z 0 na 1, ponowne wywołanie app.display zmienia numer wyświetlanego bufora z 1 na 0 (i tak w kółko).
4. Innymi słowy, gdy bufor 0 jest wyświetlany to rysowana scena jest na buforze 1, a gdy bufor 1 jest wyświetlany to rysowana jest scena na buforze 0.
5. Więc gdy przestajesz aktualizować scenę to w pamięci karty graficznej są dwie ostatnie wyrenderowane klatki, które po prostu później są na przemian wyświetlane i stąd pojawiły się drgania.
6. Gdyby przesunięcie obiektu było znacznie większe między klatkami to wówczas obserwowalibyśmy przeskoki.
7. Stąd @akwes zaobserwował 'dyskotekę', gdy dwie ostatnio wyrenderowane klatki czyściły ekran na różne kolory.
P-92283
MrPoxipol
» 2013-09-18 16:25:14
@MrPoxipol, sprawdź czy u siebie nie masz podobnej wpadki bo to najwyraźniej nie ma wiele wspólnego z pozycją sprajta ;)
Nie, nie mam ;)

/edit: btw imo tworzenie oddzielnej tekstury dla każdego sprajta nie jest za dobre :P

/edit:
@down
:o wystarczyło załadować teksturę na początku programu? EOT.
P-92291
akwes
Temat założony przez niniejszego użytkownika
» 2013-09-18 16:33:18
@MrPoxipol,

Nie, nie mam ;)
Jeszcze chwilę temu byłeś pewien, że to ten sam problem, więc lepiej sprawdź dokładnie. Ja też byłem pewien, że wszystko jest ok.


btw imo tworzenie oddzielnej tekstury dla każdego sprajta nie jest za dobre :P
Co? Miałem ładować menadżer grafiki do przykładu mającego obrazować problem? 

Dobra, bo robi się offtop ;)
P-92293
1 « 2 »
Poprzednia strona Strona 2 z 2