• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

pixele w SFML C++

Object Storage Arubacloud
0 głosów
196 wizyt
pytanie zadane 1 października 2017 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)

Hej, nie rozumiem jednej rzeczy w SFML, mianowicie przy takich metodach:

jakies_obiekt.SetPosition(Vector2f{1,,1}); //słyszałem że jeden oznacza tu jeden piksel
jakie_obiekt.move(10,1); //tu to samo 

jak wobec tego jest możliwe zrobienie czegoś takiego?:

jakieś_obiekt.move(0.5,0.5);

Przecież tu ruszamy obiektem o pół piksela ale to jest nie logiczne skoro piksel to najmniejszy fragment wyświetlcza?

Dziękuje z góry za pomoc
 

 

1 odpowiedź

+1 głos
odpowiedź 1 października 2017 przez Patrycjerz Mędrzec (192,320 p.)
wybrane 1 października 2017 przez Jakub 0
 
Najlepsza
Zauważ, że pozycja obiektu nie jest jedynie potrzebna przy renderingu. Może zostać użyta do logiki gry (np. silnik fizyczny). Wtedy same liczby całkowite miałyby zbyt małą dokładność, aby takie wyliczenia były wiarygodne. Dlatego pozycja jest zmiennoprzecinkowa, zaś pozycja w pikselach jest ustalana poprzez zaokrąglenie (albo w samym kodzie biblioteki, albo poprzez "efekt uboczny" użycia OpenGL, gdzie występuje efekt aliasingu).
1
komentarz 1 października 2017 przez adrian17 Ekspert (344,860 p.)

Zauważ, że pozycja obiektu nie jest jedynie potrzebna przy renderingu.

Um... tylko, że SFML zajmuje się tylko renderingiem, a nie np fizyką.

Chodzi prędzej o to, że te wartości nie odpowiadają żadnym pikselom - mogą zostać przemapowane na jakąkolwiek pozycję/rozmiar na ekranie przez użycie widoków (https://www.sfml-dev.org/tutorials/2.4/graphics-view.php) lub po prostu przez powiększenie okna gry.

1
komentarz 1 października 2017 przez Patrycjerz Mędrzec (192,320 p.)
Racja, zapomniałem o widokach, ale miałem na myśli domyślną konfigurację okna.

Można użyć pozycji obiektów SFML do logiki jako swoisty pojemnik na dane bez konieczności tworzenia oddzielnego wektora. Nigdzie nie powiedziałem, że ta biblioteka zajmuje się fizyką, po prostu jest to ułatwienie dla twórców gier, aby mogli wygodnie korzystać z większej dokładności, jeśli tego potrzebują.
komentarz 1 października 2017 przez Jakub 0 Pasjonat (23,120 p.)
trochę to bardziej złożone niż myślałem...
komentarz 1 października 2017 przez Jakub 0 Pasjonat (23,120 p.)
Ale wydaje mi się że puki co chyba nie muszą w to tak wnikać?

Podobne pytania

0 głosów
0 odpowiedzi 300 wizyt
0 głosów
1 odpowiedź 451 wizyt
pytanie zadane 20 października 2021 w C i C++ przez pawel_000 Początkujący (450 p.)
0 głosów
0 odpowiedzi 300 wizyt
pytanie zadane 20 kwietnia 2021 w C i C++ przez Doge Gaduła (3,370 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...