Warsztat.GD

Programowanie => Szkółka => Wątek zaczęty przez: slowbro w Październik 07, 2017, 20:59:02

Tytuł: [OpenGL] Zmiana zgodnie z perkusją muzyki
Wiadomość wysłana przez: slowbro w Październik 07, 2017, 20:59:02
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
Tytuł: Odp: [OpenGL] Zmiana zgodnie z perkusją muzyki
Wiadomość wysłana przez: DanielMz25 w Październik 10, 2017, 19:52:34
Nie wiem
Tytuł: Odp: [OpenGL] Zmiana zgodnie z perkusją muzyki
Wiadomość wysłana przez: stawrocek w Maj 18, 2018, 22:14:25
Nigdy tego nie robiłem, ale miałem kiedyś przyjemność oglądać to:
https://www.youtube.com/watch?v=O-1zEo7DD8w
I z tego co pamiętam to tam robili transformatą Fouriera

Nawet jak mi się pomyliło to i tak polecam obejrzeć, bo raz że filmik świetny, dwa że na 100% zawiera kod odpowiedzialny za to czego szukasz