Skocz do zawartości

Potrzebuję pilnie wykonawcy prostego shadera


Rekomendowane odpowiedzi

Witam. Zapewne to forum nie jest od tego, ale nie wiem, gdzie mam się z tym drobnym zleceniem udać. Chodzi o prosty shader, który muszę zaimplementować w mojej grze napisanej w GM:S 1. Jego jedynym zadaniem byłoby rozmywanie wszystkich "pikseli" w grze od konkretnej jasności. Przykładowo jeśli mamy piksel z jakiegoś sprite'a o wartości 50,120,255, taki piksel podlegałby rozmazaniu. Jeśli miałby na przykład 22,50,10, nie podlegałby rozmazaniu (coś jak blur, ale od pewnej jasności wzwyż). Działać to musi w stylu typowego bloom'a, a rozmazanie musi być Gaussowskie, nie tylko krzyżowe, jak już miałem "przyjemność" sprawdzić na sklepie yoyogames. Jako iż jest to zlecenie, będę zobowiązany zapłacić odpowiednią, acz mam nadzieję rozsądną cenę za wykonanie shadera chyba, że ktoś wytłumaczy mi prosto, jak to zrobić, za co też się odwdzięczę w zależności jak zrozumiale to ujmie. Dodam jeszcze, iż najbardziej zależy mi na najprostszej obsłudze shadera (typu "w CREATE EVENT dodaj linijkę SHADER_ON(); i tyle"). Proszę o przesyłanie propozycji wykonania tego zlecenia na prywatną wiadomość, bądź tu. Prosiłbym również o wycenę wykonania. Pozdrawiam serdecznie wszystkich i mam nadzieję, że znajdę tu wsparcie, gdyż trochę goni mnie deadline, a sam nigdy nie zajmowałem się shaderami.

Odnośnik do komentarza
Udostępnij na innych stronach

opis jest jasny, kosztować to będzie 120-180, zależnie od tego, czy w trakcie zmienisz zdanie, by spróbować czegoś innego, ale w sytuacji dokładnie tego, co opisałeś 120 wystarczy.

Odnośnik do komentarza
Udostępnij na innych stronach

swoja droga, to co kolega opisal to jest dokladnie opis blooma, tyle ze miast okreslania progu jasnosci od ktorego sie bloomuje, podaje sie prog w postaci konkretnego koloru. i lojalnie tylko wspomne, ze jesli kolega chce zeby konkretny kolor tylko rozmyc, a nie wszystkie powyzej progu, to niech da znac teraz, bo opis jasno wskazuje na prog i wszystko powyzej koloru sie rozmywa, a to moze nie do konca byc to, o co mu chodzi ;)

Odnośnik do komentarza
Udostępnij na innych stronach

PsichiX, jeśli to dla Ciebie żaden problem, to byłbym bardzo wdzięczny za wykonanie takiego shadera :). Bardzo mi to pomoże. I rozumiem, że 120PLN? Bo jeśli to w kryptowalucie xD, to nie wiem, czy dam radę tyle wypłacić i czy jest to tyle warte ;).

 

Chodzi po prostu o najprostszy shader imitujący "świecenie" obiektów. Wrzucam przykład poniżej na moim losowym projekcie, jak to powinno mniej więcej działać. Nie chodzi o to, żeby obraz tylko rozmywać, a o nadanie mu takiego efektu światła. Jeśli da się to zrobić możliwie najprościej, to prosiłbym o konstrukcję shadera, która wymagałaby jedynie w każdej instancji ustawienie, czy ma "świecić", czy nie. Przykładowo komendą light_on(); w create event/draw event i light_off(); również w danym obiekcie. A to dlatego, że muszę mieć kontrolę nad tym efektem i nie chciałbym na przykład rozmywać GUI, a obiekty gry.

 

 

 

 

2018-02-27 00_33_10-GameMaker_ Studio.png

Odnośnik do komentarza
Udostępnij na innych stronach

o, i dzieki tej informacji o oznaczaniu obiektow swiecacych wiem juz ze moge to zalatwic, rozwijajac multipass rendering, metoda do tego najlepsza! tak, to bedzie 120 pln, nie btc ;) jutro siadlbym go zrobic, pokaze jak wyglada efekt, jak przypasuje to platnosc i oddaje shader z opisem :)

Odnośnik do komentarza
Udostępnij na innych stronach

nie zerwal, ot jestem w pracy, a dopiero w nocnych godzinach jestem dostepny w sieci ;p co do terminu, zwykle dostarczam wtedy, kiedy zaplata, ale tak czy siak, demo dostaniesz do podejrzenia jako exec, wiec kiedy zechcesz otrzymac zrodla z dema zalezy juz tylko od Ciebie :P

Odnośnik do komentarza
Udostępnij na innych stronach

transparentnosc jest dobra ;p

Odnośnik do komentarza
Udostępnij na innych stronach

Demo do sciagniecia (zip zawiera exe): http://storage.psichix.io/MultipassEmissive.zip (w ruchu wyglada to super).

 

Pobawilem sie troche i zrobilem nastepujace rodzaje obiektow emitowan swiatla:
- statyczny (zawsze swieci);
- dynamiczny (mozna wlaczac i wylaczac swiecenie poprzez zmienna)

- dynamiczny pulsujacy (obiekt zmienia swoje natezenie emisji swiatla, mozemy to w pelni kontrolowac, miast robic pulsowania - ono jest tylko dla pokazania dynamiki);

Ponadto samemu efektowi mozna kontrolowac skale rozmycia, oraz intensywnosc globalna emisji swiatla. dostepne sa 3 warianty shadera samego rozmywania, by moc dobrac odpowiedni pod konkretny stopien optymalizowania (im "silniejszy" blur shader, tym lepsza jakosc, ale nieco slabsza wydajnosc, choc i tak smiga to bez problemu, wlasnie dzieki podejsciu multipassowemu :P)


Pytania i sugestie pisuj tutaj, ale same detale tranzakcji zalatwimy juz emailowo :)

Screen z demka:

multipass-emissive.png

Odnośnik do komentarza
Udostępnij na innych stronach

dlaczego tak mowisz, skoro nie znasz i nie rozumiesz implementacji? ;>

Odnośnik do komentarza
Udostępnij na innych stronach

Yyy, ale wiesz ze z reguly rzeczy, ktore wygladaja i dzialaja fajnie, pod spodem musza miec pewna magie, ktora wymaga abstrakcyjneog podejscia do tematu? :P
Oczywiscie, moglbym zrobic to "prosto", wtedy efekt by byl albo brzydki, albo niewydajny - a ta odrobina magii, sprytnie wykorzystujac renderer, sprawilem ze dostaje efekt ladny i tani i nadal jest prosty do uzycia, mimo iz nie koniecznie do implementacji wszystkiego z palca ;>

Odnośnik do komentarza
Udostępnij na innych stronach

obiekt ma parenta `obj_emissive`, a przelacza sie emisje swiatla, ustawiajac jego zmienna `emissive` na true lub false :)

proste, nieprawdaz? ;>

Odnośnik do komentarza
Udostępnij na innych stronach

a widzisz, z tym efektem mozna jeszcze wiecej i fajniej zrobic! :D

Odnośnik do komentarza
Udostępnij na innych stronach

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ę...