Skocz do zawartości

LVutner

Stalker
  • Postów

    1256
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    57

Odpowiedzi opublikowane przez LVutner

  1. Upsik. Zapiekło twórców 1984 że napisałem do GSC xD 

    Niesamowite pokłady śmiechu daje mi zespół pracujący nad tym modem. 

    Kurwa, w jaki sposób mogłoby pomóc 500$ robiąc coś na X-Rayu? Wynajmą sobie kogoś do pomocy? Bo czegoś tutaj nie rozumiem.
    Kumam że można brać pieniądze etc. Miałem prośbę żeby założyć sobie patronite i dostawać pieniążki za to co robię. Ale według mnie,
    jest to totalny bezsens. Nie rozumiem jak można powiedzieć GSC "chuj wam do dupy. ja zrobie na waszym silniku moda i sobie bede kase mial, chuj mnie bolą wasze postanowienia elo".


    To nie jest OK. 
    GSC wyraziło się jasno w sprawie modów, i ten kto wie o co chodzi - trzyma się tego. 
    Nawet taki codepoet ma wpisane pod filmami "jeśli masz chęć, przelej mały datek", nie krzyczy "KURDEBELE DAJCIE 500$ INACZEJ NIE WYDAM ALFY ELO".

    no i całe te, wulgaryzmy można usunąć po publikacji posta, ale ja tego teraz nie zrobię bo mi pasują. może naruszają regulamin ale obrazują jak bardzo mnie boli że grupa
    debili chce kasę za mod który nigdy nie wyjdzie. yoyo

  2. Witam. Jako że mam dzisiaj chwilę czasu, to namotam Wam o tym jak poprawnie zrobić nowy rendertarget. 
    Poradnik będzie w formie tekstowej, ale nie omieszkam wrzucić tutaj kilku obrazków, z informacją z czym to się je.

    Wszystko będzie pokazane na przykładzie shaderu dla LUT tekstur, portowanego z projektu Oxygen, do mojego forku OGSR engine, aka rebirtha. Prosto, szybko, i przyjemnie.

    Zaczynamy.

     

    Co będzie potrzebne:

    • Visual Studio - w wersji odpowiedniej dla repozytorium z silnikiem
    • Repozytorium z naszym silnikiem'
    • Notepad++

     

    /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

    Otwieramy Notepada, i wklejamy sobie owy kod:
    https://pastebin.com/dnbghB4S

    Zapisujemy nasz plik jako blender_lut.cpp

     

    Ale, jak to tak, o co tutaj biega? Co to te s_lut_* i inne?

    s_lut_* - są to nasze 2d samplery w których będzie przechowywana nasza tekstura. 
    Dodałem ich pięć sztuk, możecie więcej ich dodać ale pamiętajmy o jednym. Limit samplerów w jednym shaderze
    dla PS 3.0 wynosi 16


    A ten no, s_image to co to jest?

    Jest to krótko mówiąc obraz, przed zaaplikowaniem shadera. 

    Ten sampler musi tam być, ponieważ nakładamy shader na obraz, nie na pustkę :P

     

    Dobra a te ścieżki ogse//costam??

    Są to ścieżki w których będziemy przechowywać tekstury. 

    Krótko mówiąc w folderze gamedata\textures\ogse\lut
    Jak zauważyliście, tekstury mają swoje nazwy, lut_*
    Należy je zapisywać w formacie dds.
     

    /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

    Jedziemy dalej z koksem.

    Otwieramy znów naszego Notepada, i wklejamy kod:
    https://pastebin.com/Sgzm94Hj

    Zapisujemy plik jako blender_lut.h

     

    A objaśnisz o co tutaj biega???

    Właściwie nie ma co tutaj objaśniać.

    LUT Shader jest naszym komentarzem, gdy shader będzie kompilowany, silnik dostanie informację o tym.
    Możecie sobie nawet wpisać "hehe shaderek" zamiast LUT Shader.

     

    I właściwie, blendery dla naszego nowego shadera mamy gotowe. Możemy przystąpić do

    klejenia nowego rendertargeta. 

    /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

    Znów otwieramy notepada, i znów wklejamy kod:
    https://pastebin.com/wBnXMwNH

    Jest to nasz rendertarget.

     

    Ej ale widze tutaj jakieś "lut_control". Co to jest??

    Jest to nowy uniform. Będziemy go dodawać na sam koniec, będzie on kontrolować
    teksturę w shaderze. Wcześniej dodaliśmy ich pięć w blenderze, zatem będziemy je przełączać
    komendą w grze. Również dodamy komendę aby można było wyłączyć nasz shader.

     

    Ej a ta cała linijka to co to jest?  RCache.set_c("lut_control", ps_r2_lut_control, 0, 0, 0);

    Tak jak wcześniej wspominałem, tekstury będą kontrolowane komendą. Owe zera są zwyczajnie
    odwołaniem dla uniformów. XYZW. My użyjemy wektora X który będzie liczbą całkowitą.
    Gdybyśmy chcieli zrobić bardziej rozbudowany shader, rozwijamy uniform o kolejne wektory pamiętając
    aby je odpowiednio dopisać.
    Np.   RCache.set_c("lut_control", ps_r2_lut_control.x, ps_r2_lut_control.y, ps_r2_lut_control.z, 0);

     

    Zapisujemy nasz pliczek jako r2_rendertarget_phase_lut.cpp

    I robimy sobie kawę. 

    /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

    Ej dobra dobra, ale trzeba pliki dodać do visuala chyba nie???

    Owszem, trzeba to zrobić gdyż Visual sam z siebie ich nie odnajdzie. 

    Nowe pliki wrzucamy do folderu z naszym rendererem. W moim
    przypadku ten folder to:

    ogsr_engine\Layers\xrRender_R2

    Potem w VS musimy je dodać. Jak to zrobimy? Ano o tak o:

     

    /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

     

    Dodane? To lecimy dalej. 

    Trzeba teraz wszystko ze sobą skleić do kupy w renderze.

     

    Otwieramy plik r2_rendertarget.cpp.

    Na samym początku pliku widać #include. Pod blenderami dodamy nasz.

    #include "blender_lut.h"

     

    Lecimy dalej z dynksem. 
    W tym samym pliku zrobimy jeszcze kilka nowych rzeczy.

    Zjeżdzamy w dół i szukamy linijek zaczynających się na 

    b_***

    Pod nimi sobie wciśniemy nasz blenderek.

    b_lut = xr_new<CBlender_lut>();

     

    Znów lecimy w dół w rendertargecie i musimy dodać kolejną linijkę

    Szukamy sobie linijek zaczynających się na s_
    I wciskamy naszą pod spód.

    s_lut.create (b_lut, "r2\\lut");

     

    No i ostatnia zmiana w tym pliku... lecimy znów nisko.

    Szukamy linijek zaczynających się na xr_delete
    Pod nimi wklejamy naszą

    xr_delete(b_lut);

     

    Zapisujemy plik.
    I dopijamy naszą kawę.

    /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\


    Otwieramy plik r2_rendertarget.h

    Szukamy sobie linijek zaczynających się na:
    IBlender*

    Wklejamy swoją pod spodem (w moim przypadku pod combine)
    IBlender* b_lut;
     

    I znów żmudne przesuwanie suwaczka w notepadzie.

    Szukamy znów linijek, ale tym razem:
    ref_shader

    Swoją dajemy pod spodem
    ref_shader s_lut;

     

    To wszystko? Jeszcze nie.

    Jedziemy na sam dół pliku jak windą. 

    Pod linijkami void, dajemy swoją:
    void phase_lut ();

     

    Zapisujemy plik.

    /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\

    Zostało nam jedynie dodać jedną linijkę która nam "włączy" nowy rendertarget.

    Rzecz jasna możemy dodać do niej kawałek kodu, przez co rendertarget będzie można włączać
    jak i wyłączać, ale o tym już w następnym poradniku :)

    Otwieramy plik r2_rendertarget_phase_combine.cpp

    Mamy taką linijkę do dodania..
    phase_lut();

    Gdzie ją dodamy?
    Jedziemy do mniej więcej dwusetnej linijki w pliku. 

    // screen space "volume" effects

    Takowa linijka była u mnie (OGSR engine). 
    Przez chwilkę patrzymy jak inne "phase_xxx();" są dodane, i poniżej linijki:

     

    if (ps_r2_pp_flags.test(R2PP_FLAG_AA)) phase_aa();
       


    Dodajemy naszą, 

    phase_lut();


    Zapisujemy plik, i kompilujemy silnik. To wszystko. 

     

    • Super 2
    • Dodatnia 7
  3. Siema. Kiedyś namotałem parę malutkich poradniczków, czy to na poprawny rendering cieni, czy prześwietlony śnieg. Pora zebrać to do kupy w końcu. 

    Zaczynamy!


    Prześwietlony śnieg/otoczenie w modzie:

    Spoiler

    Problem polega na niewłaściwie zedytowanych shaderach przez twórców danego moda.

     

    Objawia się obrzydliwym prześwietleniem powierzchni, czy też śniegu w większości zimowych modów. 

    Nie trzeba być mistrzem hlsl żeby to poprawić, wystarczy wklepać polecenia poniżej do konsoli:

    
    r2_ls_bloom_kernel_scale 0.5
    	r2_ls_bloom_kernel_g 5.5
    	r2_ls_bloom_threshold 1.0

     

    Niepoprawne wyświetlanie cieni:

    Spoiler

    Problem objawia się nawet w czystych wersjach gry. 

    Jest na niego prosta metoda...

    Trzeba znów otworzyć konsolę w grze, i wklepać polecenia poniżej:

    
    r2_sun_near 18
    
    r2_sun_near_border 1
    
    r2_sun_focus on
    
    r2_sun_tsm on
    
    r2_sun_depth_near_scale = 1.00001
    
    r2_sun_depth_near_bias = 0.00005
    
    r2_sun_depth_near_scale = 1.0
    
    r2_sun_depth_near_bias = 0.0

     

    Wyloty przy rozmawianiu z NPC po downgrade gry:

    Spoiler

    Problem się ujawnia przy próbie porozmawiania z NPC, sam go doświadczałem.

    Przyczyna jest prosta. Trzeba usunąć z folderu gry pliki poniżej:

    
    
    	gamedata.dbc
    	gamedata.dbd

    Gra będzie działać poprawnie. DOTYCZY TYLKO DOWNGRADE NA WERSJĘ 1.0004

     

    • Super 2
    • Dodatnia 9
  4. @kondotier

    Oblukaj mini poradniczek dotyczący śniegu w modach który napisałem.
    Na 200% to jest to czego szukasz. :D

    Problelem w modzie są zmodyfikowane pliki odpowiedzialne za HDR/Bloom. Nie reagują one na dolny próg 
    działania blooma, zatem trzeba ustawić sztywne wartości.

    Na szybko:

    r2_ls_bloom_kernel_scale 0.5
    r2_ls_bloom_kernel_g 5.5
    r2_ls_bloom_threshold 1.0


    Wrzuć te komendy wraz z wartościamii w konsolę gry, pojedyńczo. I będzie działać. Gra zapisze ustawienia w user.ltx. 

    • Dodatnia 2
  5. UPDATE.

    Grafika jest już na wykończeniu, choć nadal jest to 10% tego co chciałbym osiągnąć. Podoba mi się strasznie.
    Jeszcze gracz będzie w stanie ją modyfikować wedle uznania... przez LUT. 

    Gameplayowo też coś działałem. Z najważniejszych rzeczy to wymienię owe cacka:

    >firepoint nie jest już środkiem ekranu, broń strzela ze zdefiniowanego fire pointu, lufy.
    >animacje .anm zostały przywrócone, zatem jest opcja aby nawet wyciągnięcie broni równało się z delkatnym ruchem kamery.
    >sloty na broń z zewu prypeci, możecie biegać z dwururką i svd jeśli chcecie.
    >pomniejsze fiksy typu poprawnie działająca latarka w trybie TPS, czy też drobne kosmetyczne zmiany dla wcześniej wspomnianej kamery
     

    ss_lv_03-17-19_23-32-44_(l07_military).jpg

    • Dodatnia 4
  6. Zadałem im pytanie już w tamtym roku na temat przenoszenia AA 2.1. Nie otrzymałem odpowiedzi.
    Na poprzednie pytanie z 2015 roku o użytek tekstur z AA 2.1 otrzymałem zgodę.

    Tak czy tak sądzę że po AA 2.1 zostaną tylko i wyłącznie tekstury. Wykarczowałem wszystkie skrypty, configi i tyle.
    Aczkolwiek jeśli będzie prośba o usunięcie projektu, nie widzę problemu.

    • Dodatnia 2
  7. Siema. 

    Zacząłem pracę dzisiaj nad poważnym przeniesieniem znanego każdemu moda na 64 bitowy silnik od ekipy OGSR. Choć o przeniesieniu cięzko mówić - wyciąłem wszystkie ficzery, i składam mod na nowo. 
    Co da takowy silnik, i co w ogóle będzie w tym modzie?

    >Stabilność
    >Grafika
    >Stabilność
    >Immersja
    >Stabilnośc
    >Nowinki gameplayowe.

    Krótko mówiąc, Autumn Aurora gdyby powstawała w 2019 roku.

    Strona moda: https://www.moddb.com/mods/rebirth-30
    Na niej będą dodawane informacje, a także screeny. 

    Sam mod na 99% będzie standalone w celu uniknięcia problemów przy instalacji. 
    Z gry zostało usunięte statyczne oświetlenie, teraz zostało tylko i wyłącznie dynamiczne. Tak jest lepiej.
    Modele npc, jak i broni zostaną zastąpione nowszymi i ładniejszymi dla oka. 
    Shadery będą skonfigurowane czysto pod atmosfear znany z oryginalnej Autumn Aurory.

    Więcej informacji niebawem..

    • Super 1
    • Dodatnia 9
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z tej strony, zgadzasz się na nasze Warunki użytkowania.