Introduction
Serializers in HNode are responsible for converting DMX channel data into visual representations that can be transmitted over video streams. Each serializer implements a different encoding strategy to balance efficiency, compatibility, and data integrity.IDMXSerializer Interface
All serializers implement theIDMXSerializer interface, which defines the core functionality for encoding and decoding DMX data.
Interface Methods
Serializes a single DMX channel value into a pixel array for video output.Parameters:
pixels(ref Color32[]): The pixel array to write tochannelValue(byte): The DMX channel value (0-255)channel(int): The channel numbertextureWidth(int): Width of the output texturetextureHeight(int): Height of the output texture
Deserializes a DMX channel value from an input video stream.Parameters:
tex(Texture2D): The input texture to read fromchannelValue(ref byte): The output channel valuechannel(int): The channel numbertextureWidth(int): Width of the input texturetextureHeight(int): Height of the input texture
Called at the start of each frame to reset any internal state.Parameters:
channelValues(ref List<byte>): The list of all channel values for this frame
Called after all channels have been serialized. Used for operations that require the full frame data, such as generating CRC checksums.Parameters:
pixels(ref Color32[]): The complete pixel arraychannelValues(ref List<byte>): The list of all channel valuestextureWidth(int): Width of the texturetextureHeight(int): Height of the texture
Available Serializers
VRSL
Industry-standard serializer with gamma correction and RGB grid support
Binary
Efficient binary encoding using 8 bits per channel
Binary Stage Flight
Binary encoding with CRC-4 error detection for reliable transmission
Ternary
Base-3 encoding for specialized use cases
Color Binary
Color-channel interleaved binary encoding
Spiral
Spiral pattern serialization for visual effects
Furality Somna
Custom serializer optimized for Furality events
Choosing a Serializer
By Use Case
VRSL - Use when:- Compatibility with VRSL fixtures is required
- Gamma correction is needed
- Multiple universes with RGB grid mode
- Maximum channel density is needed
- Simple, reliable encoding without error correction
- Error detection via CRC is required
- Professional-grade reliability is essential
- Experimenting with alternative encoding schemes
- Base-3 representation provides advantages
- Color channel interleaving provides visual benefits
- RGB separation is desired
- Visual pattern tracking is needed
- Debugging video transmission
- Working with Furality event fixtures
- Color channel merging is required