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

[OpenGL] Zmiana zgodnie z perkusją muzyki

Ostatnio zmodyfikowano 2017-10-07 22:14
Autor Wiadomość
slowbro
Temat założony przez niniejszego użytkownika
[OpenGL] Zmiana zgodnie z perkusją muzyki
» 2017-10-07 19:57:30
Cześć

W demkach demoscenowych można zobaczyć efekty polegające na zmianie, która odbywa się zgodnie z rytmem uderzeń perkusji. Nie chodzi mi tu o zmianę efektu, która następuje jak jest uderzenie perkusji. Prosty przykład: na ekranie jest wyświetlany obracający się sześcian. Gdy jest uderzenie perkusji jest wyświetlany w oddaleniu, gdy jest kolejne uderzenie perkusji sześcian wyświetlany jest blisko, gdy jest kolejne uderzenie perkusji sześcian wyświetlany jest po prawej stronie ekranu, gdy jest kolejne uderzenie perkusji sześcian wyświetlany jest po prawej stronie ekranu. Ogólnie co kolejne uderzenie perkusji sześcian wyświetla jest w całkowicie innym miejscu niż poprzednio. Jakie najlepiej zastosować jest podejście, aby uzyskać taki efekt bez tworzenia dużej ilości kodu? Do głowy przyszło mi takie rozwiązanie: utworzyć sobie jakąś zmienną; gdy jest uderzenie perkusji zwiększać wartość tej zmiennej o 1. Dalej sprawdzać wartość tej zmiennej i jeżeli jest 1 to wyświetlać sześcian w jednym miejscu, gdy jest wartość zmiennej jest 2 to wyświetlać sześcian w innym miejscu ekranu itd.

Nie potrzebuje konkretnego kodu jako rozwiązania tylko nakierowania jakie rozwiązanie wybrać z punktu widzenia uniwersalności i reużycia kodu:) Zaznaczam, że nie używam shadarów tylko zwykły OpenGL. Na shadery przyjdzie wkrótce czas:)

Pozdrawiam
P-165507
pekfos
» 2017-10-07 22:14:11
Do głowy przyszło mi takie rozwiązanie: utworzyć sobie jakąś zmienną; gdy jest uderzenie perkusji zwiększać wartość tej zmiennej o 1. Dalej sprawdzać wartość tej zmiennej i jeżeli jest 1 to wyświetlać sześcian w jednym miejscu, gdy jest wartość zmiennej jest 2 to wyświetlać sześcian w innym miejscu ekranu itd.
Brzmi dobrze. Tablica z parametrami do wyświetlania będzie pasować w sam raz.
P-165511
« 1 »
  Strona 1 z 1