Change Diffuse Shader (Journey Like)

Hello !

So as the title say i want to change the default diffuse shader which is lambert and i want to try two different scenarios :

  1. Switching from lambert to Oren Nayar :

Is it possible to change from Lambert to Oren Nayar with the default engine which comes from the launcher ? i have found the oren nayar model in the BRDF.ush file but how can i say to ue4 to use it instead of lambert ? (shading models . usf ? ) which files and lines i need to change for that ?

  1. Modifying the lambert shader :

Is it possible to modify the default lambert shader with the launcher engine version ( not adding a new shader model just modifying the current used lambert) like this :

from : saturate ( dot * ( N.L));

to : N.y *= 0.3;
saturate ( 4 * dot *(N.L));

(ALL credits for this change belongs to journey, source GDC Sand Rendering in journey by John Edwards (https://www.gdcvault.com/play/1017742/Sand-Rendering-in) he spoke about that at 15:30 !)

In which file and line should i look to do this change ? and can you also explain if you can what each constant stands for !

THANKS A LOT in advance i know it’s a lot of question and sorry for my bad english skills i hope i am understandable also i do not know a lot of things about shader programming so excuse my rookie mistakes :slight_smile: