Shader
Asset ID:shader
A GPU shader
Asset schema properties
uuid
uuid
Unique identifier for the asset
name
string
Name of the asset
blendMode
0invalid1opaque2alpha_blended3masked
Default:0(invalid)
The blend mode for the shader, used for batching purposes. Only valid for material shaders
computeSettings
object
{sizeReference,
workgroupSize,
workloadScalingFactor,
}Compute shader settings. Only valid for compute shaders
constantDescriptor
array[object]
Data descriptor for specialization constants
Specialization constant descriptor
Description of a specialization constant
Specialization constant descriptor
Description of a specialization constant
name
string
Constant name
default
number 〡 string 〡 boolean 〡 array[number]
Constant default value
description
string
Description
displayName
string
Display name
type
Constant type
materialDescriptor
array[object]
Data descriptor for material shaders
Parameter descriptor
Parameter description
Parameter descriptor
Parameter description
name
string
Parameter name
bufferProperties
object
{elementCount,
elementSize,
usage,
}Additional properties for a parameter of type "buffer": how many elements it holds, the size of each element, and how the buffer is used. Absent for every other parameter type
categories
array[string]
Categories
default
number 〡 string 〡 boolean 〡 array[number]
Parameter default value
isReferenceResource
boolean
Default:false
Whether this parameter (a render target or buffer) is the resource used to compute the number of dispatched workgroups for a compute shader, i.e. DispatchedGroups = referenceResource.size / workgroupSize (see compute_shader_size_reference's reference_resource)
nativeType
Parameter native type
type
Parameter type
moduleDescriptions
array[object]
Descriptions of all modules that compose this shader
Shader module description
Description of a shader module
Shader module description
Description of a shader module
bindings
array[string]
Names of the bindings used by this module
constants
object
Constants used by this module
entryPoint
string
Default:"main"
Entry point of the shader module
outputs
array[object]
Outputs of this shader module (e.g. a fragment shader's color attachments, or the last stage's varying outputs), used to validate the module's compatibility with a render pipeline
Shader module output descriptor
Description of a shader stage output variable (e.g. a fragment shader's color attachment output, or the last stage's varying output)
Shader module output descriptor
Description of a shader stage output variable (e.g. a fragment shader's color attachment output, or the last stage's varying output)
name
string
Output variable name
location
uint32
Output location
type
Output variable type
payloadOffset
uint32
Offset in byte in the shader payload buffer
payloadSize
uint32
Size in byte of the compiled module
pushConstants
array[object]
Push constant members used by this module, used to validate push constant layout compatibility across the pipeline's stages
Shader module push constant descriptor
Description of a push constant member used by this module
Shader module push constant descriptor
Description of a push constant member used by this module
name
string
Push constant member name
offset
uint32
Offset in byte within the push constant block
size
uint32
Size in byte of the push constant member
type
Push constant member type
shaderStage
integer
The shader stage
usedBindings
uint64
Bindings used by this module
nodeDataDescriptor
array[object]
Data descriptor for render graph node shaders
Parameter descriptor
Parameter description
Parameter descriptor
Parameter description
name
string
Parameter name
bufferProperties
object
{elementCount,
elementSize,
usage,
}Additional properties for a parameter of type "buffer": how many elements it holds, the size of each element, and how the buffer is used. Absent for every other parameter type
categories
array[string]
Categories
default
number 〡 string 〡 boolean 〡 array[number]
Parameter default value
isReferenceResource
boolean
Default:false
Whether this parameter (a render target or buffer) is the resource used to compute the number of dispatched workgroups for a compute shader, i.e. DispatchedGroups = referenceResource.size / workgroupSize (see compute_shader_size_reference's reference_resource)
nativeType
Parameter native type
type
Parameter type
nodeDataDescriptorHash
uint32
Hash of the node data descriptor, used to detect changes in the descriptor
payloadSize
uint32
The size in byte of the compiled shader code (accumulated size of all modules)
shaderStages
uint32
Vulkan bit mask of all shader stages present in this shader
vertexDescriptor
array[object]
Vertex description. Only valid when a vertex shader module is present
Vertex attribute descriptor
Description of a vertex attribute
Vertex attribute descriptor
Description of a vertex attribute
binding
uint32
Binding number
format
integer
Format
location
uint32
Location
offset
uint32
Default:0
Offset
semantic
uint32
1position2normal4tex_coord8skin_bone_ids16skin_weights32custom
Semantic
stride
uint32
Stride between consecutive elements within the buffer