newGUIContent("Post-scatter","Texturing is performed only during the SSS pass. Effectively preserves the sharpness of the diffuse texture. Choose this mode if your diffuse texture already contains SSS lighting (e.g. a photo of skin).")
};
publicreadonlyGUIContentprofileTransmissionMode=newGUIContent("Transmission Mode","Configures the simulation of light passing through thin objects. Depends on the thickness value (which is applied in the normal direction).");
newGUIContent("None","Disables transmission. Choose this mode for completely opaque, or very thick translucent objects."),
newGUIContent("Thin Object","Choose this mode for thin objects, such as paper or leaves. Transmitted light reuses the shadowing state of the surface."),
newGUIContent("Regular","Choose this mode for moderately thick objects. For performance reasons, transmitted light ignores occlusion (shadows).")
newGUIContent("Regular","Choose this mode for moderately thick objects. For performance reasons, transmitted light ignores occlusion (shadows)."),
newGUIContent("Thin Object","Choose this mode for thin objects, such as paper or leaves. Transmitted light reuses the shadowing state of the surface.")
};
publicreadonlyGUIContentprofileMinMaxThickness=newGUIContent("Min-Max Thickness (mm)","Shows the values of the thickness remap below (in millimeters).");
publicreadonlyGUIContentprofileThicknessRemap=newGUIContent("Thickness Remap (mm)","Remaps the thickness parameter from [0, 1] to the desired range (in millimeters).");
publicstaticGUIContentenableMotionVectorForVertexAnimationText=newGUIContent("Enable MotionVector For Vertex Animation","This will enable an object motion vector pass for this material. Useful if wind animation is enabled or if displacement map is animated");
// Material ID
publicstaticGUIContentmaterialIDText=newGUIContent("Material type","Subsurface Scattering: enable for translucent materials such as skin, vegetation, fruit, marble, wax and milk.");
publicstaticGUIContentmaterialIDText=newGUIContent("Material type","Select a material feature to enable on top of regular material");
publicstaticGUIContentSSSAndTransmissionTypeText=newGUIContent("SSS and Transmission type","Subsurface Scattering for translucent materials such as skin, vegetation, fruit, marble, wax and milk., Transmission for back lighting");
// Per pixel displacement
publicstaticGUIContentppdMinSamplesText=newGUIContent("Minimum steps","Minimum steps (texture sample) to use with per pixel displacement mapping");
Debug.Assert(DiffusionProfileConstants.DIFFUSION_PROFILE_NEUTRAL_ID<=16,"Transmission flags (32-bit integer) cannot support more than 16 profiles (2 bits per profile).");
Debug.Assert(DiffusionProfileConstants.DIFFUSION_PROFILE_NEUTRAL_ID<=32,"Transmission and Texture flags (32-bit integer) cannot support more than 32 profiles.");
UpdateCache();
}
// Erase previous value (This need to be done here individually as in the SSS editor we edit individual component)
// bsdfData.subsurfaceMask != 0 allow if sss is enabled for this pixels (i.e like per pixels feature) as in deferred case MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING alone is not sufficient
// but keep testing MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING for forward case
if (HasFeatureFlag(bsdfData.materialFeatures, MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING))
// bsdfData.subsurfaceMask != 0 allow if sss is enabled for this pixels (i.e like per pixels feature) as in deferred case MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING alone is not sufficient
// but keep testing MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING for forward case
if (HasFeatureFlag(bsdfData.materialFeatures, MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING) && bsdfData.subsurfaceMask != 0)