{ "baseMaterial": { "description": "TBD description", "propertyLayout": { "version": 1, "groups": [ { "id": "baseColor", "displayName": "Base Color", "description": "Properties for configuring the surface color (for non-metal) or specular color (for metal)." }, { "id": "metallic", "displayName": "Metallic", "description": "Properties for configuring whether the surface is metallic or not." }, { "id": "roughness", "displayName": "Roughness", "description": "Properties for configuring how rough the surface appears." }, { "id": "specularF0", "displayName": "Specular Reflectance f0", "description": "The constant f0 represents the specular reflectance at normal incidence (Fresnel 0 Angle). The default IOR is 1.5, which gives you 0.04 (4% of light reflected at 0° angle for dielectric materials). F0 values lie in the range 0-0.08, so that’s why the default F0 factor is set on 0.5." }, { "id": "normal", "displayName": "Normal", "description": "Properties for configuring surface normals." }, { "id": "opacity", "displayName": "Opacity", "description": "Properties for configuring surface opacity." } ], "properties": { "general": [ { "id": "texcoord", "displayName": "Texture Coordinate Stream", "description": "Which UV stream to use when sampling textures.", "type": "int", "defaultValue": 0, "min": 0, "max": 8 } ], "baseColor": [ { "id": "colorLinear", "displayName": "Color", "description": "Linear color value", "type": "color", "defaultValue": [ 1.0, 1.0, 1.0 ], "aliasOutputId": { "type": "shaderConstant", "id": "m_baseColor" } }, { "id": "factor", "displayName": "Factor", "description": "Strength factor for scaling the color values", "type": "float", "defaultValue": 1.0, "min": 0.0, "max": 1.0, "aliasOutputId": { "type": "shaderConstant", "id": "m_baseColorFactor" } }, { "id": "useTexture", "displayName": "Use Texture", "description": "Whether to use the texture map, or just the Color value", "type": "bool", "defaultValue": true }, { "id": "textureMap", "displayName": "Texture Map", "description": "Base color texture map", "type": "image", "defaultValue": "EngineAssets/TextureMsg/DefaultNoUVs.tif", "aliasOutputId": { "type": "shaderImage", "id": "m_baseColorMap" } } ], "metallic": [ { "id": "factor", "displayName": "Factor", "description": "Strength factor for scaling the values", "type": "float", "defaultValue": 0.0, "min": 0.0, "max": 1.0 }, { "id": "useTexture", "displayName": "Use Texture", "description": "Whether to use the texture map, or just default to the Factor value.", "type": "bool", "defaultValue": false }, { "id": "textureMap", "displayName": "Texture Map", "description": "", "type": "image", "defaultValue": "" } ], "roughness": [ { "id": "factor", "displayName": "Factor", "description": "Strength factor for scaling the values", "type": "float", "defaultValue": 1.0, "min": 0.0, "max": 1.0 }, { "id": "useTexture", "displayName": "Use Texture", "description": "Whether to use the texture map, or just default to the Factor value.", "type": "bool", "defaultValue": true }, { "id": "textureMap", "displayName": "Texture Map", "description": "Texture map for defining surface roughness.", "type": "image", "defaultValue": "EngineAssets/TextureMsg/DefaultNoUVs_spec.tif" } ], "specularF0": [ { "id": "factor", "displayName": "Factor", "description": "Strength factor for scaling the values from 0.0 to 0.08", "type": "float", "defaultValue": 0.5, "min": 0.0, "max": 1.0 }, { "id": "useTexture", "displayName": "Use Texture", "description": "Whether to use the texture map, or just default to the Factor value.", "type": "bool", "defaultValue": true }, { "id": "textureMap", "displayName": "Texture Map", "description": "Texture map for defining surface reflectance.", "type": "image", "defaultValue": "" } ], "normal": [ { "id": "factor", "displayName": "Factor", "description": "Strength factor for scaling the values", "type": "float", "defaultValue": 1.0, "min": 0.0, "max": 1.0 }, { "id": "useTexture", "displayName": "Use Texture", "description": "Whether to use the texture map, or just rely on vertex normals.", "type": "bool", "defaultValue": true }, { "id": "textureMap", "displayName": "Texture Map", "description": "Texture map for defining surface normal direction.", "type": "image", "defaultValue": "EngineAssets/TextureMsg/DefaultNoUVs_ddn.tif", "aliasOutputId": { "type": "shaderImage", "id": "m_normalMap" } } ], "opacity": [ { "id": "doubleSided", "displayName": "Double-sided", "description": "Whether to render back-faces or just front-faces.", "type": "bool", "defaultValue": false }, { "id": "factor", "displayName": "Factor", "description": "Scales the opacity values", "type": "float", "defaultValue": 1.0, "min": 0.0, "max": 1.0 }, { "id": "cutoutAlpha", "displayName": "Cutout Alpha", "description": "Whether to clip the surfaces where the alpha value falls below a threshold.", "type": "bool", "defaultValue": false }, { "id": "cutoutThreshold", "displayName": "Cutout Alpha Threshold", "description": "If enabled, values lower than this will be clipped.", "type": "float", "defaultValue": 0.5, "min": 0.0, "max": 1.0 }, { "id": "useBaseColorTextureAlpha", "displayName": "Use Base Color Texture Alpha", "description": "Use the alpha channel of the base color texture map to define opacity.", "type": "bool", "defaultValue": false }, { "id": "useTexture", "displayName": "Use Texture", "description": "Whether to use the texture map to define opacity.", "type": "bool", "defaultValue": true }, { "id": "textureMap", "displayName": "Texture Map", "description": "Texture map for defining surface opacity.", "type": "image", "defaultValue": "" } ] } }, "shaders": [ { "file": "./StandardPBR_ForwardPass.shader" } ] } }