├── .gitignore ├── AudioToILDA └── AudioToILDA.toe ├── Audio_React └── Audio_React.toe ├── Blanking_Example ├── Blanking_Example_01.toe ├── Blanking_Example_02.toe └── Blanking_Example_03_particles.toe ├── Color_Modulation ├── The_Plaid_Hole.toe └── color_mod.toe ├── Digital_Color └── Digital_Color.toe ├── Kinect_Trace ├── Kinect_Trace.png ├── Kinect_Trace.toe └── kinect_depth_example.png ├── LICENSE ├── Lissajous ├── Lissajous.toe └── Lissajous2_electric_boogaloo.toe ├── OScope_Visualize ├── OScope_Visualize.toe ├── README.md └── oscope.png ├── Python_Generators ├── Python_Spiral.toe └── Python_Spiral_SOP.toe ├── README.md ├── Raster_Scan ├── Raster_Scan.toe └── Raster_Scan_with_Z.toe ├── SOPs_with_Camera └── SOPs_with_camera.toe ├── Shapes_Example ├── README.md ├── Shapes_Example.toe ├── Shapes_with_depth_shading.toe └── sphere.png ├── Test_Patterns ├── Test_Pattern.toe └── ildatsta.wav ├── Text_Creep └── TextCreep.toe ├── Works_In_Progress ├── Copy │ └── Copy Example.toe ├── Kinect_Laser_Fire │ ├── Kinect_Laser_Fire.toe │ └── README.md ├── Pong │ ├── Pong.toe │ └── README.md └── faces.md ├── Z_Rotation ├── Rotation_Module.toe ├── Z_transform_GLSL.toe └── Z_transform_test.toe ├── controls ├── adv_ether_dream_conrols.tox ├── adv_simulator.tox ├── control_signal_to_audio.tox ├── ether_dream_controls.tox ├── laser_simulator.tox └── rotation_module.tox ├── ether_dream_connections.png └── laser_hack_101.pdf /.gitignore: -------------------------------------------------------------------------------- 1 | *.*.toe 2 | -------------------------------------------------------------------------------- /AudioToILDA/AudioToILDA.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/AudioToILDA/AudioToILDA.toe -------------------------------------------------------------------------------- /Audio_React/Audio_React.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Audio_React/Audio_React.toe -------------------------------------------------------------------------------- /Blanking_Example/Blanking_Example_01.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Blanking_Example/Blanking_Example_01.toe -------------------------------------------------------------------------------- /Blanking_Example/Blanking_Example_02.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Blanking_Example/Blanking_Example_02.toe -------------------------------------------------------------------------------- /Blanking_Example/Blanking_Example_03_particles.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Blanking_Example/Blanking_Example_03_particles.toe -------------------------------------------------------------------------------- /Color_Modulation/The_Plaid_Hole.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Color_Modulation/The_Plaid_Hole.toe -------------------------------------------------------------------------------- /Color_Modulation/color_mod.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Color_Modulation/color_mod.toe -------------------------------------------------------------------------------- /Digital_Color/Digital_Color.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Digital_Color/Digital_Color.toe -------------------------------------------------------------------------------- /Kinect_Trace/Kinect_Trace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Kinect_Trace/Kinect_Trace.png -------------------------------------------------------------------------------- /Kinect_Trace/Kinect_Trace.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Kinect_Trace/Kinect_Trace.toe -------------------------------------------------------------------------------- /Kinect_Trace/kinect_depth_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Kinect_Trace/kinect_depth_example.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Tim Greiser 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Lissajous/Lissajous.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Lissajous/Lissajous.toe -------------------------------------------------------------------------------- /Lissajous/Lissajous2_electric_boogaloo.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Lissajous/Lissajous2_electric_boogaloo.toe -------------------------------------------------------------------------------- /OScope_Visualize/OScope_Visualize.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/OScope_Visualize/OScope_Visualize.toe -------------------------------------------------------------------------------- /OScope_Visualize/README.md: -------------------------------------------------------------------------------- 1 | # OScope Visualize 2 | 3 | Visualizing laser data on a virtual scope. Thanks to Rob from derivative for the original oscilloscope visualizer example. 4 | 5 | ![OScope_Visualize](https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/master/OScope_Visualize/oscope.png) 6 | -------------------------------------------------------------------------------- /OScope_Visualize/oscope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/OScope_Visualize/oscope.png -------------------------------------------------------------------------------- /Python_Generators/Python_Spiral.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Python_Generators/Python_Spiral.toe -------------------------------------------------------------------------------- /Python_Generators/Python_Spiral_SOP.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Python_Generators/Python_Spiral_SOP.toe -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Laser control code and examples for Ether Dream and TouchDesigner 2 | 3 | ## Intro 4 | 5 | [Ether Dream](http://ether-dream.com/) is an open source [DAC](https://en.wikipedia.org/wiki/Laser_projector#Controller_.28DAC.29) for controlling laser animations via [ILDA](http://www.laserfx.com/Backstage.LaserFX.com/Standards/ILDAframes.html). We will use [TouchDesigner](https://www.derivative.ca/) to generate the control signals for the Ether Dream, which will output them to our ILDA compatible laser scanner. 6 | 7 | ## Getting Started 8 | 9 | If you want to learn more about the basics, start with our presentation, [#LaserHack 101](https://github.com/tgreiser/etherdream-touch-designer/raw/master/laser_hack_101.pdf). 10 | 11 | You can hook your Ether Dream directly to your computer with a regular ethernet cable. Run the ["sitter" diagnostic tool](http://ether-dream.com/downloads.html) to get the IP address. You will need to enter this IP into the Ether Dream CHOP in TouchDesigner in order to enable laser output. 12 | 13 | ![Setup Diagram](https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/master/ether_dream_connections.png) 14 | 15 | ## Setup 16 | 17 | 1. Lasers are dangerous to your vision if used incorrectly. Use safety glasses and common sense. Think about what your projection may be doing and where to safely set up your scanner. 18 | 2. Laser scanners all have ratings for the galvos. This will be something like: 19 | Scanner: 30K PPS @ 8° 20 | Scan Angle max.: 40° max 21 | 3. 30kpps means 30,000 Points Per Second. This rating is only a guideline, and complex shapes at close to the recommended scan angle may perform better at a reduced scan rate. 22 | 4. Start the project in TouchDesigner with your laser turned off or in safe mode. 23 | 5. In TouchDesigner, set the sample rate on the CHOP network to at or below the max scan rate. In general you probably want to draw shapes at maybe 50% scale, and only scale it up if you know things work at a smaller size. 24 | 6. Once you have set the sample rate, you can start the laser. If you hear a loud whining noise coming from your galvos you need to reduce the sample rate or scale. 25 | 26 | [![Laser Pong](http://img.youtube.com/vi/c3P6thmMLx0/0.jpg)](https://www.youtube.com/watch?v=c3P6thmMLx0 "Laser Pong") 27 | [![Stick Person](http://img.youtube.com/vi/L30rNiF8438/0.jpg)](https://www.youtube.com/shorts/L30rNiF8438 "Stick Person") 28 | 29 | Resources: 30 | * EtherDream example by Derivative - http://derivative.ca/Forum/viewtopic.php?f=20&t=8114&p=30561 31 | * LaserFire by higa - http://derivative.ca/Forum/viewtopic.php?f=22&t=8365&p=31829 32 | * ILDA Tutorial (ofx related, but good general info) by Memo Akten - https://github.com/memo/ofxIlda/wiki 33 | * Accurate and Efficient Drawing Method for Laser Projection by Purkhet Abderyim, Osama Halabi, Tadahiro Fujimoto, Norishige Chiba - http://www.art-science.org/journal/v7n4/v7n4pp155/artsci-v7n4pp155.pdf 34 | -------------------------------------------------------------------------------- /Raster_Scan/Raster_Scan.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Raster_Scan/Raster_Scan.toe -------------------------------------------------------------------------------- /Raster_Scan/Raster_Scan_with_Z.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Raster_Scan/Raster_Scan_with_Z.toe -------------------------------------------------------------------------------- /SOPs_with_Camera/SOPs_with_camera.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/SOPs_with_Camera/SOPs_with_camera.toe -------------------------------------------------------------------------------- /Shapes_Example/README.md: -------------------------------------------------------------------------------- 1 | # Shapes Example 2 | 3 | View and listen to some different shapes. Sounds pretty neat! 4 | 5 | ![Sphere](https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/master/Works_In_Progress/Shapes_Example/sphere.png) 6 | -------------------------------------------------------------------------------- /Shapes_Example/Shapes_Example.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Shapes_Example/Shapes_Example.toe -------------------------------------------------------------------------------- /Shapes_Example/Shapes_with_depth_shading.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Shapes_Example/Shapes_with_depth_shading.toe -------------------------------------------------------------------------------- /Shapes_Example/sphere.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Shapes_Example/sphere.png -------------------------------------------------------------------------------- /Test_Patterns/Test_Pattern.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Test_Patterns/Test_Pattern.toe -------------------------------------------------------------------------------- /Test_Patterns/ildatsta.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Test_Patterns/ildatsta.wav -------------------------------------------------------------------------------- /Text_Creep/TextCreep.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Text_Creep/TextCreep.toe -------------------------------------------------------------------------------- /Works_In_Progress/Copy/Copy Example.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Works_In_Progress/Copy/Copy Example.toe -------------------------------------------------------------------------------- /Works_In_Progress/Kinect_Laser_Fire/Kinect_Laser_Fire.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Works_In_Progress/Kinect_Laser_Fire/Kinect_Laser_Fire.toe -------------------------------------------------------------------------------- /Works_In_Progress/Kinect_Laser_Fire/README.md: -------------------------------------------------------------------------------- 1 | # Kinect Laser Fire 2 | 3 | Original laser fire by [Slanted Studio](http://slanted.studio/). Upgraded 4 | with two hand kinect control and minimal UI. 5 | -------------------------------------------------------------------------------- /Works_In_Progress/Pong/Pong.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Works_In_Progress/Pong/Pong.toe -------------------------------------------------------------------------------- /Works_In_Progress/Pong/README.md: -------------------------------------------------------------------------------- 1 | #Pong 2 | 3 | Mixed media kinect Pong displayed with laser via Ether Dream and LED strips via fadecandy. 4 | 5 | [![Laser Pong](http://img.youtube.com/vi/c3P6thmMLx0/0.jpg)](https://www.youtube.com/watch?v=c3P6thmMLx0 "Laser Pong") 6 | -------------------------------------------------------------------------------- /Works_In_Progress/faces.md: -------------------------------------------------------------------------------- 1 | /chin 2 | /mouth_r_t - right top 3 | /mouth_r_b - right bottom 4 | /mouth_c_t - center top 5 | /mouth_c_b - center bottom 6 | /mouth_l_t - left top 7 | /mouth_l_b - left bottom 8 | /brow_r_o - right outer 9 | /brow_r_i - right inner 10 | /brow_l_o - left outer 11 | /brow_l_i - left inner 12 | /eye_l 13 | /eye_r 14 | -------------------------------------------------------------------------------- /Z_Rotation/Rotation_Module.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Z_Rotation/Rotation_Module.toe -------------------------------------------------------------------------------- /Z_Rotation/Z_transform_GLSL.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Z_Rotation/Z_transform_GLSL.toe -------------------------------------------------------------------------------- /Z_Rotation/Z_transform_test.toe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/Z_Rotation/Z_transform_test.toe -------------------------------------------------------------------------------- /controls/adv_ether_dream_conrols.tox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/controls/adv_ether_dream_conrols.tox -------------------------------------------------------------------------------- /controls/adv_simulator.tox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/controls/adv_simulator.tox -------------------------------------------------------------------------------- /controls/control_signal_to_audio.tox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/controls/control_signal_to_audio.tox -------------------------------------------------------------------------------- /controls/ether_dream_controls.tox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/controls/ether_dream_controls.tox -------------------------------------------------------------------------------- /controls/laser_simulator.tox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/controls/laser_simulator.tox -------------------------------------------------------------------------------- /controls/rotation_module.tox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/controls/rotation_module.tox -------------------------------------------------------------------------------- /ether_dream_connections.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/ether_dream_connections.png -------------------------------------------------------------------------------- /laser_hack_101.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tgreiser/etherdream-touch-designer/28fd1386049a70adbfd71ec241f87fad3f69071e/laser_hack_101.pdf --------------------------------------------------------------------------------