Autor Wątek:  Ulepszony renderer - Materiały  (Przeczytany 1370 razy)

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

Offline Milek7

  • Administrator ds. Technicznych
  • Wiadomości: 809
    • Zobacz profil
  • Otrzymane polubienia: 391
Ulepszony renderer - Materiały
« dnia: 04 Lipca 2018, 13:56:35 »
W ulepszonym rendererze właściwiości materiałów (ambient, diffuse, specular) wylatują z t3d/e3d. Wpis "Map: none" w t3d nie będzie miał sensu, bo jak to, model bez materiału?
Plik materiału .mat jako najważniejsze podaje shader którego użyć.
Do tego wpisy textureX definiują jakie tekstury podpiąć do shadera.
Do shadera można też podać dodatkowe parametry, czyli w praktyce właściwości oświetlenia do których nie jest przypięta żadna tekstura lub jako mnożniki wartości w teksturze. Proponuję w param1 definiować kolor, a w param2 mnożniki właściwości: ambient, diffuse, specular, emission.
W takiej konwencji dla przykładu materiału z mapami diffuse, normal, i reflection będzie to wyglądać tak:
shader: bp_diffuse_normal_reflection
texture1: coś_d
texture2: coś_n
texture3: coś_r
param1: 1.0 1.0 1.0 1.0
param2: 1.0 1.0 0.3 0.0
A na przykład dla materiału bez tekstury (głównie autka):
shader: bp
param1: 0.8 0.8 0.0
param2: 1.0 1.0 0.1 0.0

To planuję zaimplementować w rendererze, ale może ktoś ma jakieś sugestie co trzeba zmienić.

edit1:
Przeniesiona zostanie też obsługa opacity z submodelu pod klucz opacity: w .mat

edit2:
ze zmianami na wiki: https://wiki.eu07.pl/index.php/Materia%C5%82y_-_Pliki_.mat
« Ostatnia zmiana: 20 Lipca 2018, 13:12:43 wysłana przez Milek7 »