LED Matrix Cube Examples

Welcome to the LED Matrix Cube Examples documentation. This comprehensive guide covers example applications for the matrixserver framework, designed to demonstrate various capabilities of 3D LED cube displays and 2D matrix panels.

Overview

The LED Matrix Cube example applications showcase the capabilities of the matrixserver framework through various interactive demonstrations, games, and visualizations. These examples range from simple 3D graphics tests to complex interactive applications with joystick input and sensor integration.

Key Features

  • 3D Volumetric Rendering: Full 3D pixel manipulation in a cubic LED matrix

  • 2D Matrix Support: Traditional flat LED panel applications

  • Interactive Input: Joystick and sensor integration

  • Cross-Platform: Runs on desktop systems and Raspberry Pi

  • Modular Architecture: Clean separation between application logic and hardware interface

  • Real-Time Performance: Optimized for smooth animations and responsive interactions

Quick Start

To get started with the LED Matrix Cube examples:

  1. Prerequisites: Install the matrixserver framework and dependencies

  2. Build: Use CMake to compile the applications

  3. Run: Start a matrixserver instance and launch an example application

# Build all applications
mkdir -p build && cd build
cmake .. && make

# Start the simulator server (in another terminal)
/path/to/matrixserver/build/server_simulator

# Run an example application
./cubetestapp

Application Categories

The examples are organized into several categories:

3D Cube Applications

Applications that inherit from CubeApplication and render 3D volumetric content:

  • CubeTestApp - Basic 3D functionality demonstration and testing

  • Snake - Multi-player 3D Snake game with AI opponents

  • Blackout3D - Minimal interactive 3D application template

  • Breakout3D - Full-featured 3D Breakout game with physics

2D Matrix Applications

Applications that inherit from MatrixApplication for traditional 2D display:

  • applications/genetic - Genetic algorithm color evolution visualization

  • applications/picture - Image display with animation support and file watching

Animation and Effects

Specialized applications for visual effects:

  • PixelFlow - Advanced particle simulation series with IMU integration and cross-platform variants

  • applications/rainbow - Particle system with IMU integration (Raspberry Pi only)

Hardware Integration

Applications demonstrating sensor and input integration:

  • applications/imutest - IMU sensor integration (Raspberry Pi only)

Framework Integration

All example applications integrate with the matrixserver framework through:

  • Connection Management: Automatic connection to running matrixserver instances via TCP, IPC, or Unix sockets

  • Frame Rate Control: Configurable FPS with automatic timing regulation

  • Hardware Abstraction: Universal API that works with simulator, FPGA, and GPIO-based displays

  • Input Processing: Standardized joystick and sensor input handling

Documentation Structure

This documentation is organized to help you understand both the individual applications and the underlying framework:

  • Installation Guide: Complete setup instructions for all platforms

  • CMake Reference: Detailed build system configuration

  • Architecture Overview: Framework design and application patterns

  • Application Guides: In-depth documentation for each example

  • API Reference: Technical reference for base classes and common patterns

Getting Help

License and Contributing

This project is part of the matrixserver framework ecosystem. Please refer to the main project repository for licensing information and contribution guidelines.

Indices and tables