-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
material.pbrMetallicRoughness.schema.json
51 lines (51 loc) · 3.13 KB
/
material.pbrMetallicRoughness.schema.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "material.pbrMetallicRoughness.schema.json",
"title": "Material PBR Metallic Roughness",
"type": "object",
"description": "A set of parameter values that are used to define the metallic-roughness material model from Physically-Based Rendering (PBR) methodology.",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"baseColorFactor": {
"type": "array",
"items": {
"type": "number",
"minimum": 0.0,
"maximum": 1.0
},
"description": "The factors for the base color of the material.",
"default": [ 1.0, 1.0, 1.0, 1.0 ],
"minItems": 4,
"maxItems": 4,
"gltf_detailedDescription": "The factors for the base color of the material. This value defines linear multipliers for the sampled texels of the base color texture."
},
"baseColorTexture": {
"allOf": [ { "$ref": "textureInfo.schema.json" } ],
"description": "The base color texture.",
"gltf_detailedDescription": "The base color texture. The first three components (RGB) **MUST** be encoded with the sRGB transfer function. They specify the base color of the material. If the fourth component (A) is present, it represents the linear alpha coverage of the material. Otherwise, the alpha coverage is equal to `1.0`. The `material.alphaMode` property specifies how alpha is interpreted. The stored texels **MUST NOT** be premultiplied. When undefined, the texture **MUST** be sampled as having `1.0` in all components."
},
"metallicFactor": {
"type": "number",
"description": "The factor for the metalness of the material.",
"default": 1.0,
"minimum": 0.0,
"maximum": 1.0,
"gltf_detailedDescription": "The factor for the metalness of the material. This value defines a linear multiplier for the sampled metalness values of the metallic-roughness texture."
},
"roughnessFactor": {
"type": "number",
"description": "The factor for the roughness of the material.",
"default": 1.0,
"minimum": 0.0,
"maximum": 1.0,
"gltf_detailedDescription": "The factor for the roughness of the material. This value defines a linear multiplier for the sampled roughness values of the metallic-roughness texture."
},
"metallicRoughnessTexture": {
"allOf": [ { "$ref": "textureInfo.schema.json" } ],
"description": "The metallic-roughness texture.",
"gltf_detailedDescription": "The metallic-roughness texture. The metalness values are sampled from the B channel. The roughness values are sampled from the G channel. These values **MUST** be encoded with a linear transfer function. If other channels are present (R or A), they **MUST** be ignored for metallic-roughness calculations. When undefined, the texture **MUST** be sampled as having `1.0` in G and B components."
},
"extensions": { },
"extras": { }
}
}