Autor Wątek: [SFML]Renderowanie  (Przeczytany 1762 razy)

Offline diego997

  • Użytkownik

# Kwiecień 25, 2012, 01:30:37
Witam, aktualnie korzystam z biblioteki sfml, ale wydaje mi się że pytanie odnosi się do ogółu. Chcę napisać prosty edytor poziomów oparty na siatce. A więc utworzyłem okno 800x600, oraz klocki 40x40 symbolizujące siatkę. Wypełniłem nimi całe okno czyli w poziomie klocków jest 20, a w pionie 15, razem 300 klocków. Aby te wszystkie klocki wyświetlić zapewne muszę utworzyć pętlę która wykona mi się 300 razy. I teraz moje pytanie brzmi czy ta pętla musi się wykonywać za każdym razem co każdy obieg głównej pętli programu czy jedynie jak modyfikuje zawartość siatki ?


Dodatkowo dołączam kod możecie zobaczyć jak to wygląda i ocenić czy jest on poprawny: http://pastebin.com/xRAgxXjp

Z góry dzięki za pomoc

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline flexi

  • Użytkownik

# Kwiecień 25, 2012, 12:30:14
No wydaje mi sie ze co petle musisz rysowac. Ja bym tak zrobil.

Offline Kos

  • Użytkownik
    • kos.gd

# Kwiecień 25, 2012, 12:31:45
Tak się zwykle robi, bo jest to prostsze niż śledzenie i odrysowywanie tego, co się zmienia na ekranie (a mocy obliczeniowej wystarcza).

Offline ΨΧΞ

  • Użytkownik
    • PsichiX Website

# Kwiecień 25, 2012, 13:20:10
ale generalnie lepiej jest już rysować samą geometrię bez tekstury, zamiast rysować kolorowane sprajty - zaoszczędzi się czasu renderingu, zwłaszcza w sfml.

Offline diego997

  • Użytkownik

# Kwiecień 25, 2012, 15:26:59
@ΨΧΞ Chodzi ci o to żeby zamiast kwadracików zrobić linie proste ?

Offline ΨΧΞ

  • Użytkownik
    • PsichiX Website

# Kwiecień 25, 2012, 15:37:18
chociażby tak właśnie. zamiast przetwarzać połacie pixeli z samplowaniem tekstur, można przetwarzać linie kolorowe i to już przyspieszy :)

Offline diego997

  • Użytkownik

# Kwiecień 25, 2012, 18:49:08
nie wiem jak jest w wersji 2.0 ale w 1.6 jak używam lini zamiast kwadracików to powiększeniu ekranu wszystko zaczyna się rozjeżdżać oraz jak chce zmienić kolor kwadratu to nie styka się on(kolor/wypełnienie) bezpośrednio z krawędziami tych linii tylko minimalnie od nich odstaje.

Offline jmgm

  • Użytkownik

# Kwiecień 25, 2012, 20:12:45
@ΨΧΞ: Przecież tu jest w użyciu sf::Shape, czyli właśnie sama geometria bez tekstury. Gdzie w takim razie leży problem?