14.07.2026 02:02

Moonlight Animate: własne shadery na klipie (Custom-GLSL)

⏱️ 3 min czytania
Udostępnij:

Do zestawu efektów klipu w Moonlight Animate dochodzi coś, co otwiera je na nieskończoną liczbę własnych pomysłów: efekt „Custom shader (GLSL)". Zamiast wybierać z gotowej listy, piszesz własny fragmentowy shader (GLSL ES 3.00), a program uruchamia go na obrazie klipu w łańcuchu efektów — obok rozmyć, korekcji koloru czy poświaty.

Jak to działa

Dodajesz efekt tak samo jak każdy inny — przyciskiem „Dodaj efekt ▾" w panelu Kontrolki efektów. W miejscu zwykłych suwaków pojawia się edytor kodu:

  • Masz do dyspozycji obraz klipu jako teksturę (u_tex), współrzędne piksela (v_uv w zakresie 0..1) oraz pomocnicze u_res / u_texel / u_aspect. Wynik zapisujesz do fragColor. Nagłówek wersji doklejamy za Ciebie — piszesz od razu treść.
  • Przycisk „Kompiluj" robi próbną kompilację i pokazuje wynik uczciwie: zielone „Kompilacja OK" albo czerwony log błędu prosto z kompilatora. Żadnych udawanych sukcesów — jak coś się nie kompiluje, widzisz dlaczego.
  • Przycisk „Zastosuj" zapisuje shader do efektu. Jeśli w kodzie jest błąd, program się nie wywala — klip po prostu przechodzi bez zmian, dopóki shader nie jest poprawny.

Animowalne parametry

Najlepsze jest to, że parametry Twojego shadera stają się animowalne. Wystarczy zadeklarować w kodzie uniform float albo uniform int — program sam je wykryje i doda pod edytorem pełny rząd z klatkami kluczowymi: stoper, nawigator klatek, wybór krzywej easingu. Dzięki temu wartość efektu (siła zniekształcenia, próg, przesunięcie) możesz animować w czasie i szlifować jej tempo w edytorze krzywych ruchu — dokładnie tak samo jak pozycję czy krycie klipu. Parametry wektorowe (vec2/3/4) ustawiasz jako stałe wartości liczbowe.

Ten sam obraz wszędzie

Zadbaliśmy o wierność koloru: shader dostaje obraz w tej samej przestrzeni barw co w edytorze webowym, więc ten sam shader daje ten sam wynik na komputerze i online. Cały efekt zapisuje się w projekcie sceny razem ze źródłem i klatkami kluczowymi, a przy zapisie w wersji web jest bezpiecznie zachowywany, nawet jeśli akurat tam się jeszcze nie renderuje.

Po co to

Wbudowane efekty pokrywają większość potrzeb, ale zawsze przychodzi moment, gdy chcesz dokładnie to jedno — konkretne zniekształcenie, przejście, glitch, własną korekcję. Custom-GLSL zdejmuje z Ciebie czekanie na to, aż dodamy dany efekt: piszesz go sam w kilku linijkach i od razu animujesz. To narzędzie dla tych, którzy chcą iść dalej niż suwaki.

📚 Powiązane posty

14.07.2026 22:19

Silnik gier: od szablonu do grywalnej gry RPG top-down

Startowy szablon silnika gier to teraz kompletny, grywalny wycinek gry RPG top-down: chodzenie po siatce, rozmowy z postaciami, przeciwnik goniący gdy...
Czytaj dalej →
14.07.2026 19:16

Moonlight Animate — system dialogów w grach

Silnik gier 2D w Moonlight Animate ma teraz kompletny system dialogów: kwestie z efektem maszyny do pisania, wybory z warunkami, zmienne fabularne i g...
Czytaj dalej →
14.07.2026 18:40

Moonlight Animate: ruchoma panorama dźwięku także w wyeksportowanym wideo

Dźwięk przejeżdżający z lewego do prawego głośnika brzmiał dobrze w podglądzie, ale eksport przez serwer zamrażał go w miejscu. Ostatnia luka parytetu...
Czytaj dalej →

📧 Bądź na bieżąco!

Zapisz się na listę oczekujących, aby otrzymywać powiadomienia o nowych postach na Dev Blog oraz informacje o starcie platformy Moonlight.