Skip to main content

Assets Reference

Action Map

action_map

Action map for a controller

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

actions

object

Algorithm

algorithm

Pipeline of successive modules that can ce executed on Algobelt

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

inputDescriptor

array[object]

outputDescriptor

array[object]

Animation

animation

An animation clip

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

animationEventTrack

object

{

eventNames,

eventTimeline,

}

A track that represents events triggered by the animation

durationInMs

float

Duration of the animation in ms

payloadSize

uint64

Payload size of all channels

skeletonRef

uuid

A reference to the skeleton used by this animation

Animation Graph

animation_graph

An animation graph

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

inputDescriptor

array[object]

Inputs used by the graph

stateMachines

array[object]

Animation state machines

A state machine composed of states and transitions

states

array[object]

States of the state machine

A state in a state machine. A state is composed of nodes and outputs a pose

name

string

The name of the state

nodes

array[object]

The nodes of this state's animation graph

A node of the animation graph

inputs

array[uint32]

Indices of input nodes of the parent animation graph

nodeType

[0] state_machine

[1] playback

[2] blendspace_1d

[3] blendspace_2d

[100] blend

[101] random

[200] ik_aim

[201] ik_two_bone

Type of the node

settings

[undefined] Settings for the playback node

[undefined] Settings for the 1D blendspace node

[undefined] Settings for the 2D blendspace node

[undefined] Settings for the blend node

[undefined] Settings for the random node

[undefined] Settings for the state machine node

[undefined] Settings for the two bone IK node

[undefined] Settings for the IK aim node

Settings associated to this node

transitionIndices

array[uint32]

The transitions coming from the current state

transitions

array[object]

All transition between all states

A transition between two states in a state machine

condition

[undefined] undefined

[undefined] undefined

[undefined] undefined

A variant of either exit time, data object entry or transition func index (depending on transition type)

durationInMs

float

Default: 100

The duration of the transition for blending purposes

nextStateIndex

uint32

The index of the state to transition to

type

[0] invalid

[1] state_played

[2] simple_condition

[3] scripted_condition

Default: [0] invalid

The transition type.

Animation Sequence

animation_sequence

An animated sequence of component properties

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

durationInMs

uint32

Duration of the animation in milliseconds

Animation Set

animation_set

An animation set linked to an animation graph

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

animationGraphUUID

uuid

Parent animation graph

animationSet

array[object]

The animation set

animationKey

uint32

Key of the animation in the animation graph

animationRef

uuid

The referenced animation for the specified key

boneMaskSet

array[object]

The bone mask set

boneMask

array[float]

The bone mask. An array of floats which corresponds to the weight per bone

boneMaskKey

uint32

Key of the bone mask in the animation graph

Collision Geometry

collision_geometry

A triangle mesh or a convex mesh shaped collider

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

geometryType

number

[0] Triangle mesh

[1] Convex mesh

payloadSize

uint64

Total size in byte of this mesh's payload. This has to be equal to the sum of each submesh payload size

Cubemap

cubemap

A cubemap is a set of 6 textures forming a cube

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

faces

array[uuid]

The 6 images forming the cube faces

Event Map

event_map

A list of events with a description of their parameters

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

events

object

A map of events and their parameters descriptors

Material

material

A material implementing a shader

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

dataJson

object

Data object following the descriptor of the attached shader

isDoubleSided

boolean

Whether the faces of the geometry are rendered from both sides or not

shaderRef

uuid

The implemented shader

Mesh

mesh

A collection of triangulated submeshes

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

payloadSize

uint64

Total size in byte of this mesh's payload. This has to be equal to the sum of each submesh payload size

submeshes

array[object]

A mesh is composed of one or more submeshes

Submesh

A triangulated submesh

aabb

object

{

max,

min,

}

The axis aligned bounding box that encompasses all the vertices of the submesh

channels

array[object]

Description of the channels in the payload blob

Channel

A channel is a collection of attributes with some meaning (semantic) for a 3D renderer. An attribute is a constant sized collection of elements (e.g. 3 for vec3, 16 for mat4, etc.). An element is the smallest piece of data manipulated (float32, int8, etc.).

dataOffset

uint64

Offset from the beginning of the associated buffer where the first element of the first attribute can be found

dataSize

uint64

Size of this channel in byte

elementCount

uint8

Number of elements that make one attribute. 2 for vec2, 3 for vec3, 16 for mat4, etc.

elementSize

uint8

Size in byte of a single element (1, 2, 4, 8) for integers, (4, 8) for floats

elementType

uint8

[0] dt_signed

[1] dt_unsigned

[2] dt_float

Can be either (signed/unsigned) integer of float

semantic

string

[index] Index buffer

[position] Position of the vertex

[normal] Normal of the vertex

[uv] Texture coordinates

[color] Color of the vertex

[bone_id] Bone id for skinning

[weight] Weight for skinning

Semantic of the attribute

indexCount

uint32

Total number of indices, a vertex can be referenced multiple times using its index. Note that this number has to be divisible by 3 as we only deal with triangles. Also, note that if this mesh doesn't use indices, the count will be 0.

morphTargets

array[object]

Description of the morph targets in the payload blob

Morph Target

A morph target is a collection of channels which contain the deltas from the source submesh. For now, only position and normal channels are supported.

aabb

object

{

max,

min,

}

Bounding box of the morph target

channels

array[object]

Channels that make up the morph target.

Channel

A channel is a collection of attributes with some meaning (semantic) for a 3D renderer. An attribute is a constant sized collection of elements (e.g. 3 for vec3, 16 for mat4, etc.). An element is the smallest piece of data manipulated (float32, int8, etc.).

dataOffset

uint64

Offset from the beginning of the associated buffer where the first element of the first attribute can be found

dataSize

uint64

Size of this channel in byte

elementCount

uint8

Number of elements that make one attribute. 2 for vec2, 3 for vec3, 16 for mat4, etc.

elementSize

uint8

Size in byte of a single element (1, 2, 4, 8) for integers, (4, 8) for floats

elementType

uint8

[0] dt_signed

[1] dt_unsigned

[2] dt_float

Can be either (signed/unsigned) integer of float

semantic

string

[index] Index buffer

[position] Position of the vertex

[normal] Normal of the vertex

[uv] Texture coordinates

[color] Color of the vertex

[bone_id] Bone id for skinning

[weight] Weight for skinning

Semantic of the attribute

vertexCount

uint32

Total number of vertices. Can't exceed UINT32_MAX because indices are restricted to a uint32

Module

module

Source code from a git repository that could be used in a shader, a script or in an algorithm

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

functions

object

Point Cloud

point_cloud

A point cloud

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

format

[0] invalid

[1] xyz32

[2] xyz32_rgb8

The format of the point cloud data

payloadTotalSize

uint64

Total size in bytes of the point cloud

pointCount

uint64

Total number of points in the cloud

scale

array[float]

Scale of the point cloud

translation

array[float]

Translation of the point cloud

Render Graph

render_graph

A render graph used by a camera

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

blendStates

array[object]

All blend states

Pipeline color blend attachment state

alphaBlendOp

integer

Alpha blend operator

blendEnable

boolean

Enable blending

colorBlendOp

integer

Color blend operator

colorWriteMask

integer

Color write mask

dstAlphaBlendFactor

integer

Destination alpha blend factor

dstColorBlendFactor

integer

Destination color blend factor

srcAlphaBlendFactor

integer

Source alpha blend factor

srcColorBlendFactor

integer

Source color blend factor

defaultRenderTargetIndex

uint32

Default: 0

The index of the render target to blit into the canvas

graphOrder

array[array]

The order in which to interpret the nodes

inputDescriptor

array[object]

Input descriptor used to parse input data

Parameter description

name

string

Parameter name

categories

array[string]

Categories

default

[undefined] undefined

[undefined] undefined

[undefined] undefined

[undefined] undefined

Parameter default value

nativeType

Parameter native type

type

Parameter type

nodeDataDescriptions

array[object]

Descriptions of all nodes

The description of a render graph node

name

string

Node name

aliases

unordered_map<std::string, std::string>

Aliases between data defined in the camera data object (user provided), and the shader data object

batchType

[1] opaque

[2] transparent

[4] static_meshes

[8] static_textured_meshes

[16] all_static_meshes

[32] skinned

[64] selected

[128] do_not_use_material

[256] double_sided

[512] single_sided

[1024] pass_occlusion_test

Batch type

bufferName

string

Default: ""

Name of the buffer to use for this node

bufferOffset

uint64

Default: 0

Offset in the buffer to use for this node

bufferSize

uint64

Default: 0

Size of the buffer to use for this node. 0 for while size.

bufferValue

uint32

Default: 0

Value to fill the buffer with

clearColors

array[array]

Clear colors

conditions

array[string]

Conditions for this node to be valid. Read from the camera data object

constDataType

[0] none

[1] material

[2] DEPRECATED_skybox

[3] debug

[4] DEPRECATED_clear_ssao

[5] DEPRECATED_ssao

[6] DEPRECATED_blur

[7] voxel

[8] DEPRECATED_temporal_denoise

[9] DEPRECATED_spatial_denoise

[10] DEPRECATED_outline

[11] DEPRECATED_bloom

[12] DEPRECATED_atmosphere

[13] DEPRECATED_ssr

[14] DEPRECATED_compose_reflections

[15] DEPRECATED_compose_outlines

[16] DEPRECATED_compose_transparent

[17] DEPRECATED_grid_quad

[18] DEPRECATED_timestamp

[19] DEPRECATED_volumetric_lighting

[20] DEPRECATED_color_grading

[21] DEPRECATED_exposure

[22] DEPRECATED_minmip

[23] gpu_occlusion_culling

[24] cpu_occlusion_culling

[25] gpu_occlusion_culling

[26] DEPRECATED_edge_outline

[27] DEPRECATED_point_cloud

[28] DEPRECATED_downsample

[29] DEPRECATED_upsample_combine

Const data type

dataJson

object

Data provided to the shader through the node data buffer

depthBiasClamp

float

Default: 0

Depth bias clamp

depthBiasConstantFactor

float

Default: 0

Depth bias constant factor

depthBiasSlopeFactor

float

Default: 0

Depth bias slope factor

drawIndirect

boolean

Draw indirect

frameNodeType

[0] viewport

[1] draw_batch

[2] draw_batch_with_materials

[3] dispatch_compute

[4] blit_image

[5] blit_image_pointer_to_dst

[6] copy_image

[7] resolve_image

[8] node_draw_quad

[9] generate_mip_chain

[10] copy_to_cubemap

[11] copy_to_light_cubemap

[12] copy_to_reflection_cubemap

[13] clear_images

[14] timestamp

[15] clear_point_cloud_buffer

[16] draw_debug_lines

[17] dispatch_decals_compute

Node type

inputDepthRenderTargetIndices

array[uint32]

Indices of render targets with depth aspect that are read by this node

inputRenderTargetIndices

array[uint32]

Indices of render targets with color aspect that are read by this node

outputDepthRenderTargetIndices

array[uint32]

Indices of render targets with depth aspect that are written to by this node

outputRenderTargetIndices

array[uint32]

Indices of render targets with color aspect that are written to by this node

pipelineDescription

object

{

backFaceStencilOpStateIndex,

blendStateIndices,

cullMode,

depthCompareOp,

depthTestEnable,

depthWriteEnable,

frontFace,

frontFaceStencilOpStateIndex,

polygonMode,

stencilStateIndex,

topology,

}

Pipeline description

shaderRef

uuid

Shader used by this node. Can be invalid if the execution node hard-codes its own shader

occlusionInputDepthRenderTargetIndex

uint32

The index of the render target used for occlusion

renderPassDescriptions

array[object]

Descriptions of all render passes

Description of a render pass

name

string

Default: "<unnamed_render_pass>"

Render pass name

attachmentClearColors

array[array]

The attachments clear colors

attachmentDescriptions

array[object]

The attachment descriptions

Vulkan Attachment description

finalLayout

integer

Final layout

flags

integer

Attachment description flags

format

integer

Format

initialLayout

integer

Initial layout

loadOp

integer

Load op

samples

integer

Sample count

stencilLoadOp

integer

Stencil load op

stencilStoreOp

integer

Stencil store op

storeOp

integer

Store op

colorAttachmentIndices

array[uint32]

The indices of the render targets used as color attachments for this render pass

colorAttachmentReferences

array[object]

The attachment references of the render targets used as color attachments for this render pass

Vulkan Attachment reference

attachment

uint32

Attachment

layout

integer

Layout

depthAttachmentIndex

uint32

The index of the render target used as depth attachment for this render pass

depthAttachmentReference

object

{

attachment,

layout,

}

The attachment reference of the render target used as depth attachment for this render pass

nodeIndices

array[uint32]

The indices of the nodes composing this render pass

resolveAttachmentIndices

array[uint32]

The indices of the render targets used as resolve attachments for this render pass

resolveAttachmentReferences

array[object]

The attachment references of the render targets used as resolve attachments for this render pass

Vulkan Attachment reference

attachment

uint32

Attachment

layout

integer

Layout

sampleCount

uint32

Default: 1

Multisampling

renderTargetDescriptions

array[object]

Descriptions of all render targets

Description of a render target

name

string

Default: "<unnamed_rt>"

Render target name

aspect

integer

Default: "VK_IMAGE_ASPECT_COLOR_BIT"

The aspect of the image to use, in the graph

extent

array[float]

Default: [0,0,0]

The extent of the render target, leave at 0 to use the canvas extent

flags

integer

Default: 0

Flags to use on image creation

format

integer

Default: "VK_FORMAT_UNDEFINED"

Format of the render target

memoryType

integer

Default: "vk::memory_type::local"

Memory type

memoryUsage

integer

Default: "vk::memory_usage_gpu_only"

How the image is accessed

mipLevels

uint32

Default: 1

Number of mip maps

sampleCount

integer

Default: "VK_SAMPLE_COUNT_1_BIT"

Number of samples per pixel

samplerType

uint32

Default: 0

THe sampler to use when accessing this render target

tiling

integer

Default: "VK_IMAGE_TILING_OPTIMAL"

Tiling of the image

usage

integer

Default: 0

How this render target is going to be used

stencilStates

array[object]

All stencil states

Stencil operators state

compareMask

uint32

Compare mask

compareOp

integer

Compare operator

depthFailOp

integer

Depth fail operator

failOp

integer

Fail operator

passOp

integer

Pass operator

reference

uint32

Reference

writeMask

uint32

Write mask

Scene

scene

A scene is a collection of entities

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

aabb

object

{

max,

min,

}

Bounding box in local space

entities

array[object]

Flat list of entities

settings

object

Settings in json format

triangleCount

uint32

Total number of direct triangles in the scene

Script

script

A runtime script

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

eventNames

array[string]

The events that the script listens to, referenced by name

inputDescriptor

array[object]

The description of the data object that the caller should provide to the script

Parameter description

name

string

Parameter name

default

[undefined] undefined

[undefined] undefined

[undefined] undefined

[undefined] undefined

Parameter default value

nativeType

Parameter native type

type

Parameter type

subScripts

array[uuid]

An optional list of references to other scripts that the current script might call

Shader

shader

A GPU shader

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

blendMode

[0] invalid

[1] opaque

[2] alpha_blended

[3] masked

Default: "invalid"

The blend mode used for batching purposes

localGroupCount

array[float]

Compute shader local group count

materialDescriptor

array[object]

Optional data descriptor, used for material shaders

Parameter description

name

string

Parameter name

categories

array[string]

Categories

default

[undefined] undefined

[undefined] undefined

[undefined] undefined

[undefined] undefined

Parameter default value

nativeType

Parameter native type

type

Parameter type

moduleDescriptions

array[object]

Descriptions of all modules that composes this shader

Description of a shader module

payloadOffset

uint32

Offset in byte in the shader payload buffer

payloadSize

uint32

Size in byte of the compiled module

shaderStage

integer

The shader stage

usedBindings

uint64

Bindings used by this module

nodeDataDescriptor

array[object]

Optional data descriptor, used for render graph node shaders

Parameter description

name

string

Parameter name

categories

array[string]

Categories

default

[undefined] undefined

[undefined] undefined

[undefined] undefined

[undefined] undefined

Parameter default value

nativeType

Parameter native type

type

Parameter type

optGlobalGroupMultiplier

array[float]

Compute shader local group count

optGlobalGroupReference

[0] render_target_automatic_split

[1] render_target_exact

[2] output_render_target_exact

[3] instances_buffer

[4] point_cloud_input_buffer

Compute shader local group count

payloadSize

uint32

The size in byte of the compiled shader code (accumulated size of all modules)

shaderStages

uint32

A shader is composed of potentially multiple modules

vertexDescriptor

array[object]

Vertex description, used only when a vertex shader module is present

Description of a vertex attribute

binding

uint32

Binding number

format

integer

Format

location

uint32

Location

offset

uint32

Default: 0

Offset

semantic

[1] position

[2] normal

[4] tex_coord

[8] skin_bone_ids

[16] skin_weights

[32] custom

Semantic

stride

uint32

Stride between consecutive elements within the buffer

Skeleton

skeleton

A skeleton

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

bones

array[object]

Descriptions of all bones forming the skeleton

Description of a bone

name

string

The bone's name

childrenCount

int32

Total number of children of this bone

firstChildIndex

int32

The index of the first child bone in the flat bones array

offsetMatrix

array[float]

The offset matrix

parentIndex

int32

The index of the parent bone in the flat bones array

payloadSize

uint32

The size in byte of skeleton data

Sound

sound

An audio track

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

bitDepth

uint8

The bit depth of the audio data

channelCount

uint8

The of audio channels (1 = mono, 2 = stereo, etc.)

durationInMs

uint32

Duration of the track in milliseconds

payloadSize

uint64

The size in byte of the sound data

sampleCount

uint64

Total number of samples composing the audio track

sampleFrequencyInHz

uint32

Frequency in Hertz

Texture

texture

A 2D texture

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

format

[0] invalid

[1] r8s

[2] r8u

[3] r16s

[4] r16u

[5] bc1

[6] bc1a

[7] bc2

[8] bc3

[9] bc3n

[10] bc4

[11] bc5

[12] bc6

[13] bc7

[14] rgba8

The format of the texture

mips

array[object]

Mip-maps

Description of a texture mip

dimension

array[uint32]

The mip resolution in pixels

payloadSize

uint64

Size of this mip payload in bytes

payloadTotalSize

uint64

Total size in bytes of all mip-maps

Texture 1D

texture_1d

A 1D texture

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

format

[0] invalid

[1] r8s

[2] r8u

[3] r16s

[4] r16u

[5] bc1

[6] bc1a

[7] bc2

[8] bc3

[9] bc3n

[10] bc4

[11] bc5

[12] bc6

[13] bc7

[14] rgba8

The format of the texture

mips

array[object]

Mip-maps

Description of a texture mip

dimension

array[uint32]

The mip resolution in pixels

payloadSize

uint64

Size of this mip payload in bytes

payloadTotalSize

uint64

Total size in bytes of all mip-maps

Texture 3D

texture_3d

A 3D texture

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

format

[0] invalid

[1] r8s

[2] r8u

[3] r16s

[4] r16u

[5] bc1

[6] bc1a

[7] bc2

[8] bc3

[9] bc3n

[10] bc4

[11] bc5

[12] bc6

[13] bc7

[14] rgba8

The format of the texture

mips

array[object]

Mip-maps

Description of a texture mip

dimension

array[uint32]

The mip resolution in pixels

payloadSize

uint64

Size of this mip payload in bytes

payloadTotalSize

uint64

Total size in bytes of all mip-maps

voxelDimensions

array[float]

The voxel dimensions of the texture

Volume Material

volume_material

A material applied to a volume (3d texture)

uuid

uuid

Unique identifier for the asset

name

string

Name of the asset

albedoLUT

array[object]

The albedo look up table

A key value pair used in a look up table

key

float

The normalized key for this entry

value

[undefined] undefined

[undefined] undefined

The value associated to the key

metallicLUT

array[object]

The metallic look up table

A key value pair used in a look up table

key

float

The normalized key for this entry

value

[undefined] undefined

[undefined] undefined

The value associated to the key

opacityLUT

array[object]

The opacity look up table

A key value pair used in a look up table

key

float

The normalized key for this entry

value

[undefined] undefined

[undefined] undefined

The value associated to the key

rangeMax

float

The maximum voxel value handled by the material

rangeMin

float

The minimum voxel value handled material

roughnessLUT

array[object]

The roughness look up table

A key value pair used in a look up table

key

float

The normalized key for this entry

value

[undefined] undefined

[undefined] undefined

The value associated to the key