Skocz do zawartości

Rekomendowane odpowiedzi

  • Odpowiedzi 137
  • Dodano
  • Ostatniej odpowiedzi

Top użytkownicy w tym temacie

Top użytkownicy w tym temacie

Opublikowano

obawiam sie, ze moze to byc zbyt skomplikowany shader (nie do napisania, a do uruchomienia - limity ilosci instrukcji kompilatora GMowego)

Opublikowano

Trafił nowy, zaawansowany przykład użycia shaderów do obliczeń logiki gry na GPU :)

 

GPU Game of Life

Windows Executable

psl_game_of_life.PNG

Opublikowano

Kolejny przykład, tym razem dynamiczne punkty jako prosty i wydajny śnieg (w ilości cząstek tysiąca, ale i można więcej):

Dynamic Points (Snow)

psl_dynamic_points.PNG

Opublikowano

Nie wiem jak inni, ja miałem następujący błąd przy "Windows Executable":

GML
___________________________________________

################################################################################

############

FATAL ERROR in Vertex Shader compilation

ShaderName: fxSimulation

 

D3DXCompile failed - result

 

at gml_Object_objSimulation_Draw_0 (line -1) - <unknown source line>

################################################################################

############

Opublikowano

GML
ai=10

shader_set(...)

draw_rectangle(10,10,20,20,0)

shader_reset()

To nie będzie działać? Tak? Siedziałem 30 minut szukając czemu nie działa, aż zamieniłem draw na sprite. Zadziałało. Ktoś wie może czy tak ma być?

 

Edit:

Przy okazji. Próbuję zrobić shader który wykona to:

GML
random_set_seed(x)

color=draw_getpixel(x,y);

r=color_get_red(color)+random_range(-10,10)

g=color_get_green(color)+random_range(-10,10)

b=color_get_blue(color)+random_range(-10,10)

output=make_color_rgb(r,g,b)

Opublikowano

zapewne samplujesz w shaderze base texture, a draw_rectangle nie posiada tekstury bazowej, stad nic nie widac. rozwiazanie jest proste: nie sampluj, tylko przypisz na sztywno jakis kolor do gl_FragColor :)

 

a zeby zrobic random w shaderze, musisz niestety wygenerowac teksture szumu w jakims programie i magiczna operacja latac po UVce tej tekstury w celu zsamplowania randomowej wartosci. daj mi 30 minutek, a pokaze Ci jak to zrobic :)

Opublikowano

Dodano nowy przykład - Szum obrazu:

RandomNoise

psl_randomnoise.PNG

Opublikowano

Dodano nowy przykład zbiorczych efektów do gry Top Down:

Top Down Effects

psl_td_effects.PNG

Opublikowano
Colorize partial w GM.

gdzie moge to znalezc? dawno nie uzywalem GMa :<

Opublikowano

Huder, pokminie jak to zrobic i dam znac ;)

 

Oto w Wasze ręce trafia nowy shader dynamicznego nieba i słońca:

Atmos (Dynamic Sky Simulation)

psl_atmos.PNG

Opublikowano

bo są złe i należy ich unikać, aby byłą jak najlepsza kompatybilność ze starszymi mobilami zwłaszcza. Zrobi się tego shaderka, no problemo - nie wiem tylko, czy dziś <prywata>bo samsung mnie nagli z wysłaniem daftpada </prywata>

Opublikowano

Do biblioteki trafia kolejny shader, rekoloryzacja zakresu kolorów w systemie HSV:

Recolorize (HSV)

psl_recolorize.PNG

 

oraz:

Radial Blur

psl_radialblur.PNG

 

a także:

Fish Eye Distortion

psl_fisheye.PNG

Opublikowano

Do zestawu trafia nowy shader (bazujący na Recolorize, lecz nie zmienia koloru, a teksture na inna):

 

Repaint

psl_repaint.PNG

 

Swoją drogą: Nieco przystopuje z robieniem nowych shaderó, bo aktualnei tworze edytor shaderów na node'ach (jak Unreal Material Editor) z eksportem do GMa, Flasha, oraz natywnie na GLSL i AGAL.

Opublikowano

aktualnie szum perlina opłaca sie robić generując surfaces, wrzucać na niego wyliczony szum - liczenie tego na GPU co klatke zabije wydajność. nie tylko w GMie.

Opublikowano

no to da sie oczywiscie, nawet bez shaderow :)

Opublikowano

moze pokaz, jak generujesz szum. bo 5 sekund dla tego rozmiaru tekstury to zdecydowanie za duzo. no i oczywiscie moge zrobic taki shader, ale watpie, ze przelknie go GMowy kompilator (za duzo instrukcji obstawiam) :<

Opublikowano

https://gmclan.org/up539_4_ValueNoise2.html

Jest generowanych 5 tablic 256x256 każda kolejna ma 2 razy bardziej wygładzony szum od poprzedniej i potem wszystkie są tablice sumowane i normalizowane. Potem tylko interpolacja liniowa 2 kolorów na surface.

 

Możesz jeszcze sprawdzić czy u ciebie pixele są na surface przesunięte o 1 w prawo i dół, jak tak to będziesz widział jedno-pixelowy pasek. Coś gnysek mówił że na radeonach tak jest. Ja mam radeona i tak faktycznie się dzieje.

  • 2 tygodnie później...
Opublikowano

Do przykładów trafiły dwa shadery Ditheringu (ziarnistości obrazu jak w animowanych GIFach):

(ot takie małe przygotowanie do Game Boy Jamu ;>)

 

Dithering (Black & White)

psl_dithering.PNG

 

Dithering (Color)

psl_dithering_color.PNG

  • 1 miesiąc temu...
Opublikowano

Mógłbyś zrobić kilka shaderów do efektów dla gier 2d, jak:

 

- Falowanie rooma

- Zmiana odcienia ekranu

- obracanie ekranu o dowolny kąt (właść. rooma)

 

Byłbym wdzięczny.

Opublikowano

Falowanie - Walisz heat haze na cały ekran

Odcien ekranu? YXE zrobił recolorize który to zrobi.

Obracainie ekranu... słyszałeś o view_angle ?

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...