Renderowanie dróg/ścieżek w grze
Ostatnio zmodyfikowano 2024-05-13 19:39
tBane Temat założony przez niniejszego użytkownika |
Renderowanie dróg/ścieżek w grze » 2024-05-12 18:53:24 Witam. Potrzebuję dodać drogi / ścieżki w grze. Wpadłem na pomysł by renderować wiele razy grafikę przedstawiającą poszczególne kamyki i całkiem nieźle to wygląda, ale zdaje mi się, że wydajnościowo jest to nieoptymalna metoda. Co sądzisz o tym pomyśle ? Grafika z kamieniamiWiele nałożonych na siebie grafik z kamieniamiprezentacja w grze |
|
DejaVu |
» 2024-05-12 21:32:45 Póki działa wystarczająco dobrze to nie trać czasu na optymalizacje. |
|
pekfos |
» 2024-05-12 22:01:12 O wydajności lepiej mówić przy kodzie, jeszcze lepiej mając pomiary czasu wykonania. Jeśli używasz do tego sf::Sprite, to wydajniej byłoby robić sf::VertexArray z sf::Quad. Ta rada aplikuje się wszędzie gdzie wyświetlasz wiele obiektów z jednej tekstury. |
|
tBane Temat założony przez niniejszego użytkownika |
» 2024-05-13 15:24:11 Mam coś takiego: #ifndef Paths_hpp #define Paths_hpp
class Path : public GameObject { public: Texture * texture; sf::Sprite * sprite; Path( string name, float radius, float height ) : GameObject( name, 0, 0, radius, height, false ) { type = gameObjectType::Path; this->texture = getTexture( name ); sprite = new sf::Sprite(); sprite->setTexture( * texture->texture ); sprite->setOrigin( texture->cx, texture->cy ); } Path( GameObject * object, float x, float y ) : GameObject( object, x, y ) { type = gameObjectType::Path; this->texture = getTexture( name ); sprite = new sf::Sprite(); sprite->setTexture( * texture->texture ); sprite->setOrigin( texture->cx, texture->cy ); } ~Path() { } void update( float dt ) { sprite->setPosition( x, y ); } void render( sf::RenderWindow * window ) { window->draw( * sprite ); } };
std::vector < Path * > paths;
#endif
|
|
pekfos |
» 2024-05-13 19:36:52 std::vector < Path * > paths;
Osobny kontener ma sens z punktu widzenia wydajności. Cała reszta nie. Ale jak DejaVu napisał, nie przejmuj się wydajnością dopóki nie jest problemem. Na niektóre rzeczy już zwracałem uwagę, wiec wyraźnie musisz się tego nauczyć na błędach. Wpadłem na pomysł by renderować wiele razy grafikę przedstawiającą poszczególne kamyki i całkiem nieźle to wygląda Dorzuciłbym losowo wybrane lustrzane odbicia i/lub obroty o 90n stopni, żeby niskim kosztem to trochę urozmaicić. Teraz miejscami grafiki się nieszczególnie dobrze układają. Poza tym te kamienie może powinny być mniejsze, bo będąc wielkości prawie głowy bohatera ta ścieżka wygląda bardziej jak przeszkoda. |
|
tBane Temat założony przez niniejszego użytkownika |
» 2024-05-13 19:39:48 Zobaczę co da się zrobić może faktycznie urozmaicic ścieżkę to dobre rozwiązanie :-) |
|
« 1 » |