Difference between revisions of "Laser CHOP"

From Derivative
Jump to: navigation, search
Line 54: Line 54:
 
|parReadOnly=
 
|parReadOnly=
 
|parOrder=2
 
|parOrder=2
|parSummary=Path to the CHOP.
+
|parSummary=Path to the CHOP. The input CHOP must have '''x''', '''y''' channels for the point positions. In addition, it also supports '''z''', '''r''', '''g''', '''b''', and '''id''' channels. The '''id''' channel is used for grouping points together as a single shape. By default when no '''id''' channel is present, each point is separate and unconnected. Additional and arbitrarily named colour channels may be added for laser projectors that accept more than just r, g, b.
 
|parItems=}}
 
|parItems=}}
 
{{Parameter
 
{{Parameter

Revision as of 16:56, 21 June 2019

Summary
[edit]

The Laser CHOP uses a SOP or CHOP as a source and samples the data at a specified rate to produce channels that can be used to drive an Laser Projector. The Laser CHOP replaces the Scan CHOP and gives better control over the movement of the Laser Beam as well as enhanced color control. The resulting channels can be used in combination with the EtherDream CHOP or Helios DAC CHOP in case of controlling a Laser via the ILDA Protocol or the Audio Device Out CHOP in case of using one of LaserAnimation Sollinger's AVB capable devices.

The CHOP was developed with the help of LaserAnimation Sollinger who guided us in specing and implementing the necessary parameters, especially in regards of the blanking settings.

PythonIcon.pnglaserCHOP_Class


Parameters - Laser Page

Source OP source - - Select the source operator type for the laser image.

  • SOP sop - Use a SOP as the source for the Laser image. Appart from position attributes, the SOP's point color attributes are used to determine the color output.
  • CHOP chop - Use a CHOP as the source for the Laser image. The CHOP expects x and y channels and every sample will be interpreted as a point to be drawn. To draw multiple shapes, also specify an id named channel to identify each shape. All other channels will be interpreted as color channels and blanking will be applied to those. This makes it possible to drive Lasers that have more than just rgb diodes active.

SOP sop - Path to the SOP.  

CHOP chop - Path to the CHOP. The input CHOP must have x, y channels for the point positions. In addition, it also supports z, r, g, b, and id channels. The id channel is used for grouping points together as a single shape. By default when no id channel is present, each point is separate and unconnected. Additional and arbitrarily named colour channels may be added for laser projectors that accept more than just r, g, b.  

Sample Rate rate - Specify the Sample Rate the source will be sampled at. With the default 48000 samples per second and a 60fps frame rate, the Laser CHOP can output 800 position and color values per frame.  

Swap Output swap - Lets you swap the x and y axis of the output.  

X Scale xscale - Control the horizontal scale of the output.  

Y Scale yscale - Control the vertical scale of the output.  

Rotate rotate - Control the rotation of the output.  

Update Method updatemethod - - Control how the Laser CHOP pulls data from its source.

In most cases you will want to keep this at the default setting "When All Points Drawn".

There is a specific usage case that requires the "Every Frame" update method. Background is that the Laser CHOP might have to draw the input values over multiple frames. For example given a source with 200 sampling values. After applying all blanking and step sizes at a certain sample rate, the Laser might need more than one frame to draw the full image. The effect will be visible by the Laser image flickering. With the default setting, the Laser will grab a new set of samples from its input once it has completed drawing all previous values. With the "Every Frame" update method, the Laser will grab the updated values for the remaining samples after each frame.

  • When All Points Drawn alldrawn - The Laser CHOP will read the source data once all points of the previous frame have been drawn.
  • Every Frame everyframe - The Laser CHOP will update the input every frame, no matter if it finished drawing the previous frame or not.

Vertex Order vertexorder - Output the points in the same order as the vertices of each polygon, instead of the order in which the points are defined in the geometry.  

Step Size stepsize - The distance each x,y can change while outputing color.  

Blanking Step Size bstepsize - The distance each x,y can change while not outputing color (blanking).  

Vertex Hold vertexhold - Set the time in ms the laser should remain at each vertex or sample.  

Camera camera - Specify the path to a Camera COMP used to draw a SOP from the cameras view.  


Parameters - Color Page

These parameters let you control how the color channels for the Laser are created. Especially paying attention to the blanking settings which will have to be adjusted matching the capabilities of your laser projector.

Blanking is the capability of a laser projector to rapidly turn on / off the laser when displaying animations. For example when displaying multiple shapes, the laser needs the ability of blanking to omit the empty spots between the shapes. As the laser's mirrors are driven by motors, the positional data that is send to the laser is likely to be ahead of the actual mirror position - the mirror must catch up to the data. The Color data though is in time and as a result the effect can be visible tails at points where the laser switches off its color. Adjusting the blanking parameters can help prevent this.

Output Color color - Activate the Color output.  

Red Scale redscale - Set the intensity of the Red Channel.  

Green Scale greenscale - Set the intensity of the Green Channel.  

Blue Scale bluescale - Set the intensity of the Blue Channel.  

Pre Blanking On Delay preblankon - Set the time in ms the Laser should wait at a position before turning the color output off.  

Post Blanking On Delay postblankon - Set the time in ms the Laser should wait at a position after turning the color output off.  

Pre Blanking Off Delay preblankoff - Set the time in ms the Laser should wait at a position before turning the color output on.  

Post Blanking Off Delay postblankoff - Set the time in ms the Laser should wait at a position after turning the color output on.  

Start-Point Hold Time starthold - Set the time in ms the Laser should wait at the first point of a new data frame before continuing on.  


Parameters - Common Page

Time Slice timeslice - Turning this on forces the channels to be "Time Sliced". A Time Slice is the time between the last cook frame and the current cook frame.  

Scope scope - To determine which channels get affected, some CHOPs use a Scope string on the Common page.  

Sample Rate Match srselect - - Handle cases where multiple input CHOPs' sample rates are different. When Resampling occurs, the curves are interpolated according to the Interpolation Method Option, or "Linear" if the Interpolate Options are not available.

  • Resample At First Input's Rate first - Use rate of first input to resample others.
  • Resample At Maximum Rate max - Resample to the highest sample rate.
  • Resample At Minimum Rate min - Resample to the lowest sample rate.
  • Error If Rates Differ err - Doesn't accept conflicting sample rates.

Export Method exportmethod - - This will determine how to connect the CHOP channel to the parameter. Refer to the Export article for more information.

  • DAT Table by Index datindex - Uses the docked DAT table and references the channel via the index of the channel in the CHOP.
  • DAT Table by Name datname - Uses the docked DAT table and references the channel via the name of the channel in the CHOP.
  • Channel Name is Path:Parameter autoname - The channel is the full destination of where to export to, such has geo1/transform1:tx.

Export Root autoexportroot - This path points to the root node where all of the paths that exporting by Channel Name is Path:Parameter are relative to.  

Export Table exporttable - The DAT used to hold the export information when using the DAT Table Export Methods (See above).  



CHOPs
Ableton Link • Analyze • Angle • Attribute • Audio Band EQ • Audio Device In • Audio Device Out • Audio Dynamics • Audio File In • Audio Filter • Audio Movie • Experimental:Audio Movie • Audio NDI • Audio Oscillator • Audio Para EQ • Audio Play • Audio Render • Audio Spectrum • Audio Stream In • Audio Stream Out • Beat • Experimental:Bind • BlackTrax • Blend • Bullet Solver • Clip Blender • Clip • Clock • Composite • Constant • Copy • Count • CPlusPlus • Cross • Cycle • DAT to • Delay • Delete • DMX In • DMX Out • Envelope • EtherDream • Event • Expression • Extend • Fan • Feedback • File In • File Out • Filter • Function • Gesture • Handle • Helios DAC • Hog • Hokuyo • Hold • Experimental:Hold • Import Select • In • Info • Interpolate • Introduction To CHOPs id • Inverse Curve • Inverse Kin • Join • Joystick • Keyboard In • Keyframe • Kinect • Lag • Laser • Leap Motion • Leuze ROD4 • LFO • Limit • Logic • Lookup • LTC In • Experimental:LTC In • LTC Out • Math • Merge • MIDI In • MIDI In Map • MIDI Out • Mouse In • Experimental:Mouse In • Mouse Out • NatNet In • Noise • Null • Object • Oculus Audio • Oculus Rift • OpenVR • OSC In • OSC Out • Out • Override • Panel • Parameter • Pattern • Experimental:Pattern • Perform • Pipe In • Pipe Out • PosiStageNet • Pulse • RealSense • Record • Rename • Render Pick • Reorder • Replace • Resample • S Curve • Scan • Script • Select • Sequencer • Serial • Shared Mem In • Shared Mem Out • Shift • Shuffle • Slope • SOP to • Sort • Speed • Splice • Spring • Stretch • Stype • Switch • Sync In • Sync Out • Tablet • Time Slice • Timeline • Timer • TOP to • Touch In • Touch Out • Trail • Transform • Trigger • Trim • Warp • Wave • ZED

An Operator Family which operate on Channels (a series of numbers) which are used for animation, audio, mathematics, simulation, logic, UI construction, and many other applications.

An Operator Family that reads, creates and modifies 3D polygons, curves, NURBS surfaces, spheres, meatballs and other 3D surface data.

Any of the procedural data operators. OPs do all the work in TouchDesigner. They "cook" and output data to other OPs, which ultimately result in new images, data and audio being generated. See Node.

The location of an operator within the TouchDesigner environment, for example, /geo1/torus1, a node called torus1 in a component called geo1. The path / is called Root. To refer instead to a filesystem folder, directory, disk file or http: address, see Folder.

samples-per-second of a CHOP. Each CHOP in your network has a sample rate, whether it is used or not. The overall timeline has a "frame rate", which is the number of animation frames per second, generally your monitor display frequency.

The term "Frame" is used (1) in the Timeline, (2) as a time-unit in CHOPs, (3) as a time-unit in TOPs, and (4) with movies images which are read and created with TOPs.

An Operator Family that contains its own Network inside. There are twelve 3D Object Component and eight 2D Panel Component types. See also Network Path.

A CHOP outputs one or more channels, where a channel is simply a sequence of numbers, representing motion, audio, etc. Channels are passed between CHOPs in TouchDesigner networks. See also Export.

Each SOP has a list of Points. Each point has an XYZ 3D position value plus other optional attributes. Each polygon Primitive is defined by a vertex list, which is list of point numbers.

A Time Slice is the time from the last cook frame to the current cook frame. In CHOPs it is the set of short channels that only contain the CHOP channels' samples between the last and the current cook frame.

A parameter in most CHOPs that restricts which channels of that CHOP will be affected. Normally all channels of a CHOP are affected by the operator.

Exporting is the connection of CHOP channels to parameters of operators. The output of each exporting CHOP is one or more channels, active only while the CHOP Viewer is on. The current value of a channel can be exported to a parameter of any operator, overriding that parameter's value. See Parameter.

An Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a command Script, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.

Parameters in TouchDesigner are an operator's settings (numbers, menus, flags, strings, paths) which the user can alter. Parameters for any operator can be opened by right-clicking on the operator and selecting "Parameters..." A currently selected operator's parameters can be viewed in a Network Editor by pressing the keyboard shortcut 'p'.

TouchDesigner is a hierarchy of components. "root" is the top-most network in the hierarchy. The Path is simply /. A typical path is /project1/moviein1.