263 lines
11 KiB
Plaintext
263 lines
11 KiB
Plaintext
{
|
||
|
||
"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"
|
||
}
|
||
]
|
||
}
|
||
}
|