publicstaticGUIContentdetailMapModeText=newGUIContent("Detail Map with Normal","Detail Map with AO / Height");
publicstaticGUIContentUVDetailMappingText=newGUIContent("UV set for Detail","");
publicstaticGUIContentmaterialIDText=newGUIContent("Material Class","Subsurface Scattering: enable for translucent materials such as skin, vegetation, fruit, marble, wax and milk.");
publicstaticGUIContentemissiveColorModeText=newGUIContent("Emissive Color Usage","Use emissive color or emissive mask");
publicstaticstringInputsText="Inputs";
publicstaticGUIContenttessellationShapeFactorText=newGUIContent("Shape factor","Strength of Phong tessellation shape (lerp factor)");
publicstaticGUIContenttessellationBackFaceCullEpsilonText=newGUIContent("Triangle culling Epsilon","If -1.0 back face culling is enabled for tessellation, higher number mean more aggressive culling and better performance");
publicstaticGUIContenttessellationObjectScaleText=newGUIContent("Enable object scale","Tesselation displacement will take into account the object scale - Only work with uniform positive scale");
publicstaticGUIContentmaterialIDText=newGUIContent("Material Class","Subsurface Scattering: enable for translucent materials such as skin, vegetation, fruit, marble, wax and milk.");
publicstaticGUIContentsubsurfaceProfileText=newGUIContent("Subsurface scattering profile","A profile determines the shape of the blur filter.");
publicstaticGUIContentsubsurfaceRadiusText=newGUIContent("Subsurface scattering radius","Determines the range of the blur.");
publicstaticGUIContentsubsurfaceRadiusMapText=newGUIContent("Subsurface scattering radius map","Determines the range of the blur.");
publicstaticGUIContentthicknessText=newGUIContent("Thickness","If subsurface scattering is enabled, low values allow some light to be transmitted through the object.");
publicstaticGUIContentthicknessMapText=newGUIContent("Thickness map","If subsurface scattering is enabled, low values allow some light to be transmitted through the object.");
else if (bsdfData.materialId == MATERIALID_LIT_CLEAR_COAT)
{
}
else if (surfaceData.materialId == MATERIALID_LIT_SSS)
{
outGBuffer2 = float4(surfaceData.subSurfaceRadius, surfaceData.thickness, 0.0, surfaceData.subSurfaceProfile / 8.0); // Number of profile not define yet
outGBuffer2 = float4(surfaceData.subsurfaceRadius, surfaceData.thickness, 0.0, surfaceData.subsurfaceProfile / 8.0); // Number of profile not define yet
}
else if (surfaceData.materialId == MATERIALID_LIT_CLEAR_COAT)
{
else if (bsdfData.materialId == MATERIALID_LIT_SSS)
{
bsdfData.diffuseColor = baseColor;
bsdfData.fresnel0 = 0.028; // TODO take from subSurfaceProfile
bsdfData.subSurfaceRadius = inGBuffer2.r;
bsdfData.fresnel0 = 0.028; // TODO take from subsurfaceProfile
bsdfData.subsurfaceRadius = inGBuffer2.r;
bsdfData.subSurfaceProfile = inGBuffer2.a * 8.0;
bsdfData.subsurfaceProfile = inGBuffer2.a * 8.0;
}
else if (bsdfData.materialId == MATERIALID_LIT_CLEAR_COAT)
{
result = surfaceData.specular.xxx;
break;
case DEBUGVIEW_LIT_SURFACEDATA_SUB_SURFACE_RADIUS:
result = surfaceData.subSurfaceRadius.xxx;
result = surfaceData.subsurfaceRadius.xxx;
result = GetIndexColor(surfaceData.subSurfaceProfile);
result = GetIndexColor(surfaceData.subsurfaceProfile);
break;
case DEBUGVIEW_LIT_SURFACEDATA_COAT_NORMAL_WS:
result = surfaceData.coatNormalWS * 0.5 + 0.5;
result = bsdfData.anisotropy.xxx;
break;
case DEBUGVIEW_LIT_BSDFDATA_SUB_SURFACE_RADIUS:
result = bsdfData.subSurfaceRadius.xxx;
result = bsdfData.subsurfaceRadius.xxx;
result = GetIndexColor(bsdfData.subSurfaceProfile);
result = GetIndexColor(bsdfData.subsurfaceProfile);
publicreadonlyGUIContentsssProfileStdDev1=newGUIContent("SSS profile standard deviation #1","Determines the shape of the 1st Gaussian filter. Increases the strength and the radius of the blur of the corresponding color channel.");
publicreadonlyGUIContentsssProfileStdDev2=newGUIContent("SSS profile standard deviation #2","Determines the shape of the 2nd Gaussian filter. Increases the strength and the radius of the blur of the corresponding color channel.");
publicreadonlyGUIContentsssProfileLerpWeight=newGUIContent("SSS profile filter interpolation","Controls linear interpolation between the two Gaussian filters.");
publicreadonlyGUIContentsssBilateralScale=newGUIContent("SSS bilateral filtering scale","Larger values make the filter more tolerant to depth differences.");
publicreadonlyGUIContentsssProfileStdDev1=newGUIContent("SSS profile standard deviation #1","Determines the shape of the 1st Gaussian filter. Increases the strength and the radius of the blur of the corresponding color channel.");
publicreadonlyGUIContentsssProfileStdDev2=newGUIContent("SSS profile standard deviation #2","Determines the shape of the 2nd Gaussian filter. Increases the strength and the radius of the blur of the corresponding color channel.");
publicreadonlyGUIContentsssProfileLerpWeight=newGUIContent("SSS profile filter interpolation","Controls linear interpolation between the two Gaussian filters.");
publicreadonlyGUIContentsssBilateralScale=newGUIContent("SSS bilateral filtering scale","Larger values make the filter more tolerant to depth differences.");