Autor Wątek:  Shadery z mapami specular/glossines/metalic  (Przeczytany 4230 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2609
Shadery z mapami specular/glossines/metalic
« dnia: 01 Lutego 2020, 17:07:31 »
W załączniku wszystkie shadery w wariantach z podpiętą mapą specular/glossines/metalic oraz kostka testowa, pomocna w doborze parametrów pod materiał, jaki chcecie utworzyć. Przykładowy wpis dla niej na TD:
node -1 0 wzornik model 0 10 0 0 kostka.t3d none endmodel
Specular to światło odbite od źródła bezpośrednio do kamery, zgodnie z prawem odbicia. Im większy, tym więcej światła będzie odbijane do kamery pod pewnymi kątami. UWAGA. Model Phonga-Blinna pozwala złamać prawo zachowania energii, gdzie materiał odbija więcej światła, niż na niego pada, więc trzeba mieć wyczucie.
Glossines to wykładnik skupienia, określający intensywność światła odbitego przy odchylaniu kamery od kąta odbicia. Dla niskich wartości, odbłyski będą widoczne w dużym zakresie kąta i przy niższych wartościach specular. Przy wyższej wartości tylko w linii wektora odbicia i przy wyższych wartościach specular, dając węższą pręgę/mniejszy punkt.
Metalic określa kolor światła odbitego. Dla materiału niemetalicznego światło odbite ma kolor światła padającego. Dla materiału metalicznego, kolor materiału.

Nową mapę podpinacie do materiału jako texture_specgloss:
Jest to tekstura RGBA, gdzie kanały oznaczają:
R - siła specular
G - glossines
B - metalic
A- nieużywany, ustawiać na 0 (czarny)
Pojedyncze kanały tekstury kostki testowej w załącznikach dla lepszego zrozumienia.

W podstawowych shaderach (bez tej mapy) wartości te były stałe dla całego materiału i wyrażały się:
specular: (1/2 sumy składowych koloru tekstury diffuse) * param_specular
Dla braku param_specular było to 1/3 specular zdefiniowanego w t3d dla geometrii nieprzezroczystej i 3/2 dla geometrii przezroczystej.
glossines: param_glossiness lub dla braku domyślnie 10.
metalic: 1 dla ujemnego param_glossiness lub 0 dla dodatniego (domyślnie)

W shaderach z mapą wartości są zależne od tekstury i wyrażają się:
specular: kanał specular (R) * param_specular
glossines: kanał glossines (G) * 8 * param_glossiness Daje to zakres 0-80 bliskie popularnym shaderom o zakresie 0-64, do których tekstury znaleźć można w sieci.
metalic: 1 dla kanału metalic (B) > 0.5, 0 dla mniejszego. Należy stosować wartości skrajne B=0 lub B=255.
« Ostatnia zmiana: 07 Lutego 2020, 20:41:03 wysłana przez Stele »
Mój kanał youtube

Offline Tomnord15

  • Wiadomości: 603
  • Fan ET21
    • Zobacz profil
  • Otrzymane polubienia: 25
Odp: Shadery z mapami specular/glossines/metalic
« Odpowiedź #1 dnia: 01 Lutego 2020, 18:18:31 »
Dziwne że o ile na oficjalnych shaderach wywalał błąd i nie mogłem uruchomić, o tyle na tych da się uruchomić, ale widać jedynie księżyc i wszystko jest czarne, mimo że znajduję się w lokomotywie. W okienku z logiem pokazuje błąd 1282 GL Invalid operation.
« Ostatnia zmiana: 01 Lutego 2020, 18:36:16 wysłana przez Tomnord15 »
T.N

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2609
Odp: Shadery z mapami specular/glossines/metalic
« Odpowiedź #2 dnia: 01 Lutego 2020, 18:38:36 »
Bardzo dziwne, bo to jedynie komplikacja aktualnych shaderów tmj z warsztatu.
Mój kanał youtube

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2609
Odp: Shadery z mapami specular/glossines/metalic
« Odpowiedź #3 dnia: 07 Lutego 2020, 20:42:34 »
Rewizja w pierwszym poście z nowym algorytmem aplikowania odbić od tmj, dającym nierozbielone lusterka i poprawkami do starych shaderów na odczyt glossiness. Słabo testujecie, jak nikt nie zauważył, że choćby woda się popsuła. :<
Mój kanał youtube

Offline JAN21

  • Deweloper
  • Wiadomości: 486
  • Tory se robie se
    • Zobacz profil
  • Otrzymane polubienia: 1421
Odp: Shadery z mapami specular/glossines/metalic
« Odpowiedź #4 dnia: 31 Marca 2020, 23:06:51 »
Podepnę się pod ten temat, bo po części pytanie z nim związane, otóż czy w pliku materiału wartości param_spec i gloss wpisane jak niżej, dla każdej pogody osobno mają prawo działać? Przy zmianie pogody z poziomu exe różnicy nie widać
shader: parallax_specgloss
texture_diffuse: asphaltgray1
texture_normalmap: asphaltgray1_normal
texture_specgloss: asphaltgray1_normal_wet_specgloss
param_height_scale: 0.02
param_height_offset: 0.03
param_specular: 0.05
param_glossiness: 2
rain: {
texture_normalmap: asphaltgray1_normal_wet
texture_specgloss: asphaltgray1_normal_wet_specgloss
param_specular: 10
param_glossiness: 10
}
snow: {
texture_normalmap: asphaltgray1_normal_wet
texture_specgloss: asphaltgray1_normal_wet_specgloss
param_specular: 10
param_glossiness: 10
}
Dobrowolne wsparcie: Tipply

Offline tmj

  • Zasłużony dla Symulatora
  • Wiadomości: 3808
    • Zobacz profil
  • Otrzymane polubienia: 2351
Odp: Shadery z mapami specular/glossines/metalic
« Odpowiedź #5 dnia: 01 Kwietnia 2020, 01:15:30 »
Zmiana parametrow zgodnie z wartosciami podanymi w blokach warunkowych dziala, natomiast w tym konkretnym przypadku nie widac roznicy poniewaz intensywnosc odblaskow swiatla jest dodatkowo zalezna od stopnia zachmurzenia -- im wieksze zachmurzenie tym mniej intensywne sa odblaski (ze wzgledu na rozproszenie swiatla) i przy pelnym zachmurzeniu sa one eliminowane calkowicie.

Offline JAN21

  • Deweloper
  • Wiadomości: 486
  • Tory se robie se
    • Zobacz profil
  • Otrzymane polubienia: 1421
Odp: Shadery z mapami specular/glossines/metalic
« Odpowiedź #6 dnia: 01 Kwietnia 2020, 10:39:19 »
Czyli opcja zrobienia "lusterka" na mokrym asfalcie aktualnie nie wchodzi w grę? Czy jest jakieś szamyństwo? :P
Dobrowolne wsparcie: Tipply

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2609
Odp: Shadery z mapami specular/glossines/metalic
« Odpowiedź #7 dnia: 01 Kwietnia 2020, 12:22:19 »
Gołe reflection w deszczu będzie łykać. Specular by się ujawnił dopiero przy przejaśnieniu, ale to już by wymagało dynamicznych zmian pogody i buforowania historii.
Mój kanał youtube