Lumenarium/README.md

77 lines
3.8 KiB
Markdown
Raw Normal View History

2019-12-29 16:28:49 +00:00
# Lumenarium by Foldhaus
2019-12-29 16:40:50 +00:00
![Lumenarium Banner](./docs/images/splash.png)
2019-12-29 16:28:49 +00:00
2020-01-21 07:39:32 +00:00
## Build Lumenarium
Building Lumenarium requires having MSVC installed (sorry, Windows only for now!).
1. clone the repo onto your computer
2. Run the appropriate build batch file
- for Windows: use `build\build_app_msvc_win32_debug.bat`
- other platforms coming soon
3. Build scripts will output executables into the app_run_tree directory, by platform
## Run Lumenarium
Windows - Debug
1. Run `app_run_tree\win32_msvc\debug\win32_foldhaus.exe`
If you want to run in headless mode:
1. Run `app_run_tree\win32_msvc\debug\win32_foldhaus.exe -headless`
## Debug Lumenarium
2021-02-28 23:47:05 +00:00
### Windows
Building in debug mode outputs pdb file info that can be read by Visual Studio or RemedyBG (preferred debugging solution, but ymmv). You can just open the exe in either application and it'll find the pdb file in the same directory
2020-01-21 07:39:32 +00:00
2019-12-29 16:28:49 +00:00
## What Is Lumenarium?
Lumenarium is our custom build light and motion control software. It allows us to design light and motion patterns for our sculptures, visualize the output long before the sculpture is built, and iterate in real time to achieve the best visual results quickly.
2019-12-29 16:42:20 +00:00
[Foldhaus can be found here.](https://www.foldhaus.com)
2019-12-29 16:28:49 +00:00
2019-12-29 16:40:50 +00:00
![Image of Lumenarium](./docs/images/hero-0.PNG)
2019-12-29 16:28:49 +00:00
## Features
The following features are under active development for integration in Lumenarium
* [Sculpture File Format](#sculpture-file-format)
* [DMX Output](#dmx-output)
* [Live Visualization](#live-visualization)
* [Animation Timeline](#animation-timeline)
* [Node Based Pattern Creation](#node-based-pattern-creation)
* [Live Compilation Reload](#live-compilation-reload)
***
### Sculpture File Format
Sculptures are specified via a structured text file so that it is easy to represent new sculptures, simply as strips of LEDs.
2019-12-29 16:28:49 +00:00
Documentation coming soon.
***
### DMX Output
Lumenarium supports SACN output, and ArtNet is in development, via a DMX system which underlies them both.
***
### Live Visualization
We don't always have access to our physical sculptures while working on the lights and motion for them. Having a visualization of the sculpture lets us see what the patterns we develop will look like when running on the actual sculpture.
2019-12-29 16:28:49 +00:00
The visualization runs in real time, and mirrors the DMX output the sculptures will receive, so any changes made in the software are immediately reflected, both in the visualization and in the data sent over the network.
***
### Animation Timeline
One goal of Lumenarium is to enable fine-grained control over procedural light and motion patterns. Patterns can be arranged on a timeline for manual sequencing.
2019-12-29 16:28:49 +00:00
Coming Soon
2019-12-29 16:32:14 +00:00
* Pattern Fading/Cross fading
* Pattern parameter controls
2019-12-29 16:28:49 +00:00
***
### Node Based Pattern Creation
Pattern creation also happens within Lumenarium. Rather than program individual patterns in code, Lumenarium provides a node based interface to combine small units of functionality to create patterns. These patterns are available for sequencing in the animation timeline.
Coming Soon
2019-12-29 16:32:14 +00:00
* compilation of node based patterns
* more nodes!
2019-12-29 16:28:49 +00:00
***
### Live Compilation Reload
One of the most fulfilling parts of working on these sculptures is getting to iterate live on the lights and motion in front of the physical sculpture while on active display. While Lumenarium is designed to enable everyone to shape the visual identity of our sculptures, it also allows for low-level, fine grained control over the visual output as well. The software is split into a platform layer (currently Windows only, though there are plans to support Mac, and possibly Raspberry Pi), and an application library. The application library can be recompiled and hot loaded while the software is running to facilitate the fastest possible iteration time.
2019-12-29 16:28:49 +00:00
2019-12-29 16:30:45 +00:00
To see how this works in detail see [Handmade Hero](https://guide.handmadehero.org/code/day022/)