Click or drag to resize

Fusee.Serialization Namespace

The classes in this module are the building blocks for storing FUSEE's scene graph file contents.

All classes and their properties are decorated with Protobuf.net attributes to mark them as serializable in the Google Protobuf format (v2). The Protobuf.net compiler generates serialization code directly from these classes. This automatically generated serialization code can be found in Fusee.SerializationSerializer.dll.

Serialized FUSEE scenegraphs are stored in *.fus files. The three main building block types for scenegraphs are

  • SceneContainer - Root object of each .fus file. Contains a file header and a list of root nodes.
  • SceneNodeContainer - Instances of this type (called nodes) make up the hierarchy of objects. Each node contains a list of child nodes and a list of components.
  • SceneComponentContainer - Instances of this type (called components) store the scene's payload. Various component types (inherited from SceneComponentContainer) exist to keep the different components a scene is made of.

Classes
  ClassDescription
Public classAnimationComponent
Contains animation data. Generally, a list of animation tracks
Public classAnimationKeyContainerBase
Base class to hold a single animation key. Derived types specify the type of the value controlled by the keys.
Public classAnimationKeyContainerDouble
Animation key storing double values.
Public classAnimationKeyContainerFloat
Animation key storing float values.
Public classAnimationKeyContainerFloat2
Animation key storing float2 values.
Public classAnimationKeyContainerFloat3
Animation key storing float3 values.
Public classAnimationKeyContainerFloat4
Animation key storing float4 values.
Public classAnimationKeyContainerInt
Animation key storing integer values.
Public classAnimationTrackContainer
Stores data about a single animation track (mainly a list of keyframes)
Public classBoneComponent
Marker component (contains no data). If contained within a node, the node serves as a bone in a bone animation.
Public classBumpChannelContainer
If used, the material shows bumps defined by a normal map (a texture).
Public classJointWeightColumn
DEPRECATED
Public classLightComponent
Contains light information. If contained in a node, the node serves as a light object.
Public classMatChannelContainer
Part of the MaterialComponent defining material settings. Used in the different lighting calculation components.
Public classMaterialComponent
Material definition. If contained within a node, the node's (and potentially child node's) geometry is rendered with the speicified material.
Public classMaterialLightComponent
Light definition. If contained within a node, the node's (and potentially child node's) light is rendered with the speicified lightsetup within the ApplyLightString ApplyLight Method.
Public classMaterialPBRComponent
Material definition.If contained within a node, the node's (and potentially child node's) geometry is rendered with the speicified material.
Public classMeshComponent
Defines mesh data (geometry).
Public classRectTransformComponent
Building block to set up User Interface hierarchies.
Public classRenderPass
This class holds one RenderPass within the ShaderComponent EffectPasses List
Public classSceneComponentContainer
Base class for components. Each node (SceneNodeContainer) contains a list of components of various types.
Public classSceneContainer
The root object of a scene file.
Public classSceneNodeContainer
The building block to create hierarchies.
Public classShaderComponent
This class holds the shader definition. If contained within a node, the node's (and potentially child node's) geometry is rendered with the specified shader.
Public classSimpleType
Public classSpecularChannelContainer
The specular channel definition.
Public classTransformComponent
Transformation (position, orientation and size) of the node.
Public classTypeContainer
Base class to hold all sorts of data type. Derived types specify the type of the value.
Public classTypeContainerBool
TypeContainer storing a bool value.
Public classTypeContainerDouble
TypeContainer storing a double value.
Public classTypeContainerFloat
TypeContainer storing a float value.
Public classTypeContainerFloat2
TypeContainer storing a float2 value.
Public classTypeContainerFloat3
TypeContainer storing a float3 value.
Public classTypeContainerFloat4
TypeContainer storing a float4 value.
Public classTypeContainerInt
TypeContainer storing a int value.
Public classVertexWeightList
A single row of the weight table. Stored in a way respecting sparse data (only few bones control a vertex).
Public classWeightComponent
Defines a weight map. Basically a table with a row for each vertex and a column for each bone controlling the geometry.
Structures
  StructureDescription
Public structureSceneHeader
The header of a scene file.
Public structureVertexWeight
A single entry of a weight table row.
Enumerations
  EnumerationDescription
Public enumerationLerpType
Symbolic value describing the type of Lerp (linear interpolation) to perform.
Public enumerationLightType
Specifies the type of the light.
Public enumerationTypeId
Symbolic value describing the data type of stored values.