forked from KhronosGroup/glTF
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtechniqueParameters.schema.json
33 lines (33 loc) · 2.46 KB
/
techniqueParameters.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
{
"$schema" : "http://json-schema.org/draft-03/schema",
"title" : "technique/parameter",
"type" : "object",
"description" : "Uniform and attribute inputs to a technique.",
"extends" : { "$ref" : "glTFProperty.schema.json" },
"properties" : {
"count" : {
"type" : "integer",
"description" : "When defined, the parameter is an array of count elements of the specified type. values will be an array with length equal to sizeof(type) * count, where each sizeof(type) defines the value of one element. When undefined, the parameter is not an array.",
"minimum" : 1
},
"type" : {
"type" : "integer",
"description" : "WebGL 1.0.2 Profile: allowed values are 5120 (BYTE), 5121 (UNSIGNED_BYTE), 5122 (SHORT), 5123 (UNSIGNED_SHORT), 5124 (INT), 5125 (UNSIGNED_INT), 5126 (FLOAT), 35664 (FLOAT_VEC2), 35665 (FLOAT_VEC3), 35666 (FLOAT_VEC4), 35667 (INT_VEC2), 35668 (INT_VEC3), 35669 (INT_VEC4), 35670 (BOOL), 35671 (BOOL_VEC2), 35672 (BOOL_VEC3), 35673 (BOOL_VEC4), 35674 (FLOAT_MAT2), 35675 (FLOAT_MAT3), 35676 (FLOAT_MAT4), and 35678 (SAMPLER_2D).",
"enum" : [5120, 5121, 5122, 5123, 5124, 5125, 5126, 35664, 35665, 35666, 35667, 35668, 35669, 35670, 35671, 35672, 35673, 35674, 35675, 35676, 35678],
"required" : true
},
"semantic" : {
"type" : "string",
"description" : "Uniform semantics include LOCAL (FLOAT_MAT4), MODEL (FLOAT_MAT4), VIEW (FLOAT_MAT4), PROJECTION (FLOAT_MAT4), MODELVIEW (FLOAT_MAT4), MODELVIEWPROJECTION (FLOAT_MAT4), MODELINVERSE (FLOAT_MAT4), VIEWINVERSE (FLOAT_MAT4), PROJECTIONINVERSE (FLOAT_MAT4), MODELVIEWINVERSE (FLOAT_MAT4), MODELVIEWPROJECTIONINVERSE (FLOAT_MAT4), MODELINVERSETRANSPOSE (FLOAT_MAT3), MODELVIEWINVERSETRANSPOSE (FLOAT_MAT3), VIEWPORT (FLOAT_MAT4). Attribute semantics include POSITION, NORMAL, TEXCOORD, COLOR, JOINT, JOINTMATRIX, and WEIGHT. Attribute semantics can be of the form [semantic]_[set_index], e.g, TEXCOORD_0, TEXCOORD_1, etc."
},
"node" : {
"extends" : { "$ref" : "glTFid.schema.json" },
"description" : "The id (JSON property name) of the node whose transform is used as the parameter's value."
},
"value" : {
"type" : ["number", "boolean", "string", { "$ref" : "arrayValues.schema.json" }],
"description" : "Material values, when specified, override this."
}
},
"additionalProperties" : false
}