HDRenderLoop: Update GGXDisney.Shader with lot of parameters
- Goal is to add a lot of thing so we can ensure that scriptable render
loop support all the case
- Here try to add transparent and alpha testing + prepare materialID
with SSS and clear coat.
// TODO: define what is the best parametrization for artsits, seems that metal smoothness is the winner, but would like at add back a specular parameter.
// Bonus, if we store as specular color we can define a liner specular 0..1 mapping 2% to 20%
float3 diffuseColor;
float matData0;
float ambientOcclusion;
float SpecularOcclusion;
//float matData1;
float specularOcclusion;
float ambientOcclusion;
// TODO: create a system surfaceData for thing like that + Transparent
// As we collect some lighting information (Lightmap, lightprobe/proxy volume)
// and emissive ahead (i.e in Gbuffer pass when doing deferred), we need to
float emissiveIntensity;
// MaterialID SSS - When enable, we only need one channel for specColor, so one is free to store information.
float subSurfaceRadius;
// float thickness;
// int subSurfaceProfile;
// MaterialID Clear coat
// float coatCoverage;
// float coatRoughness;
// Distortion
// float2 distortionVector;
// float distortionBlur; // Define the mipmap level to use
// float2 velocityVector;
};
struct BSDFData
float3 fresnel0; // Should be YCbCr but need to validate that it is fine first! MEan have reflection probe